• CiscoIPPhoneMenu
• 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>
<SoftKeyItem>
<Position>Numerical position of the soft key</Position>
<Name> Name of the soft key</Name>
<URL>URL of soft key</URL>
</SoftKeyItem>
</CiscoIPPhoneMenu>
Note : The 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.
The XML format allows you to specify a title and prompt that are used for the entire menu, followed by a sequence of MenuItem objects. Cisco IP Phones allow a maximum of 100 MenuItems. Each MenuItem includes a Name and an associated URL. 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. 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.
Example:
<CiscoIPPhoneMenu>
<Title>Message List</Title>
<Prompt>Two Messages</Prompt>
<MenuItem>
<Name>Message One</Name>
<URL>QueryStringParam:message=1</URL>
</MenuItem>
<MenuItem>
<Name>Message Two</Name>
<URL>queryStringParam:message=2</URL>
</MenuItem>
<SoftKeyItem>
<Position>1</Position>
<Name>Exit</Name>
<URL>SoftKey:Exit</URL>
</SoftKeyItem>
</CiscoIPPhoneMenu>
<Position>1</Position> // If you choose one that is the first softkey buttons (from left to right),Can have up to five button.
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 IP Phone firmware controls all other pagination and wordwrap issues.
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>
<SoftKeyItem>
<Position>Numerical position of the soft key</Position>
<Name> Name of the soft key</Name>
<URL>URL of soft key</URL>
</SoftKeyItem>
</CiscoIPPhoneText>
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 Name field of the last chosen MenuItem displays in the Title field.
• The second optional field, Prompt, defines text that displays at the bottom of the display page. If a Prompt is not specified, Cisco CallManager clears the prompt area of the 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.
Note : Non-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.
Note : Keypad navigation: Cisco 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.
Example:
<CiscoIPPhoneText>
<Text>This object has one softkey named "Custom"</Text>
<SoftKeyItem>
<Name>Custom</Name>
<URL>http://someserver/somepage</URL>
<Position>4</Position>
</SoftKeyItem>
</CiscoIPPhoneText>
CiscoIPPhoneInput
When a Cisco 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. Figure 2-1 shows a sample
display that is receiving input from a user.
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>
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.
Note CiscoIPPhoneInput 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 DisplayName, which is the prompt that is written to the display for that particular item. Each item also has a 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
DefaultValue tag to set 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.
During text entry, Cisco 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.
Example:
<CiscoIPPhoneInput>
<Title>CiscoIPPhoneInput</Title>
<URL>http://192.168.2.46:8084/Test/index.jsp</URL>
<InputItem>
<DisplayName>Label1</DisplayName>
<QueryStringParam>label1</QueryStringParam>
<DefaultValue>false</DefaultValue>
<InputFlags>A</InputFlags>
</InputItem>
<InputItem>
<DisplayName>Label2</DisplayName>
<QueryStringParam>label2</QueryStringParam>
<DefaultValue>true</DefaultValue>
<InputFlags>T</InputFlags>
</InputItem>
</CiscoIPPhoneInput>
<InputFlags>A</InputFlags> //A Plain ASCII text—use the DTMF keypad to enter text that consists of uppercase and lowercase letters, numbers, and special characters.
<InputFlags>T</InputFlags> //T Telephone number—enter only DTMF digits for this field. The acceptable input includes numbers, #, and *.
CiscoIPPhoneDirectory
The phone originally incorporated the CiscoIPPhoneDirectory XML object to support the Directory operation of Cisco IP Phones, but it is available for your development purposes also. Figure 2-2 shows how an XML CiscoIPPhoneDirectory object displays on the phone.
Definition
<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>
<SoftKeyItem>
<Position>Numerical position of the soft key</Position>
<Name> Name of the soft key</Name>
<URL>URL of soft key</URL>
</SoftKeyItem>
</CiscoIPPhoneDirectory>
Note : For the directory listing, the Cisco 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.
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 CiscoIPPhoneDirectory objects in subsequent HTTP requests.
Custom Directories
You can use the Cisco CallManager enterprise parameter, “URL Directories” and CiscoIPPhone XML objects to display custom directories. The “URL Directories” points to a URL that returns a CiscoIPPhoneMenu object that extends the
directories menu. The request for “URL Directories” must return a valid CiscoIPPhoneMenu object, even if has no DirectoryEntry objects. 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.
Example:
<CiscoIPPhoneDirectory>
<Title>Telephone Book</Title>
<Prompt>Directory</Prompt>
<DirectoryEntry>
<Name>Alking</Name>
<Telephone>12345</Telephone>
</DirectoryEntry>
<DirectoryEntry>
<Name>Ming</Name>
<Telephone>23564</Telephone>
</DirectoryEntry>
<DirectoryEntry>
<Name>Qing</Name>
<Telephone>87945</Telephone>
</DirectoryEntry>
<SoftKeyItem>
<Name>Dial</Name>
<URL>SoftKey:Dial</URL>
<Position>1</Position>
</SoftKeyItem>
<SoftKeyItem>
<Name>EditDial</Name>
<URL>SoftKey:EditDial</URL>
<Position>2</Position>
</SoftKeyItem>
<SoftKeyItem>
<Name>Exit</Name>
<URL>SoftKey:Exit</URL>
<Position>3</Position>
</SoftKeyItem>
<SoftKeyItem>
<Name>More</Name>
<URL>http://192.168.2.46:8084/Test/index.jsp</URL>
<Position>4</Position>
</SoftKeyItem>
</CiscoIPPhoneDirectory>
CiscoIPPhoneImage
The CiscoIPPhoneImage provides a bitmap display with a 133 x 65 pixel pane that is available to ccess services. Each pixel includes four grayscale settings. A value of three (3) displays as black, and a value of zero (0) displays as white.
Note : The phone uses an LCD display, which inverts the palette
The CiscoIPPhoneImage XML type lets you use the Cisco 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 soft key</Name>
<URL>URL of soft key</Name>
<Position>Numerical position of the soft key</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 Title displays at the top of the page, and the Prompt displays at the bottom.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 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 IP Phone, each pixel has only four possible values, which means that you 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-3 Packed Pixel Translation Example
Definition
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:
<CiscoIPPhoneImage>
<Title/>
<LocationX>-1</LocationX>
<LocationY>-1</LocationY>
<Width>4</Width>
<Height>1</Height>
<Depth>2</Depth>
<Data>2D</Data>
<Prompt/>
</CiscoIPPhoneImage>
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.
Tip : Before displaying a graphic image on a Cisco 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.
Example:
<CiscoIPPhoneImage>
<LocationX>-1</LocationX>
<LocationY>-1</LocationY>
<Width>92</Width>
<Height>65</Height>
<Depth>2</Depth>
<Data>00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000FA57000000000000000000000000000000000000000000AB97010000000000000000000000000000000000000040BA47020000000000000000000000000000000000000000A
5A
502000000000000000000000000000000000000000004A007000000000000000000000000000000000000000055A91B000000000000000000000000000000000000004005BB
2F
00000000000000000000000000000000000000B06BF21B
000000000000000000000000000000000000A
45699FE
3F
190000000000000000000100000000000040BA6991AEAF760000000000000000405B
010000000000A
85B
7A
125299AE
0F
00000000000060419A
6E
0100000040A
726F
85955A
8BA6B
0000000000004027A
5AA
1A
000000A
8BAE941565AB
99A
2D00000000000004BD
1A
90EA
6A
56A
96B5EFA2B2090FEFF
9A
00000000000000E9AB1AA5AAEAAAA
9A
7BFFF8040FFFFAF0600000000004099EFDB02699AA6EAE9FFFF0782FFFFFF1B000000000054AEFFBF6D90AAA9AAFEFBFF7FDDFFFFFF
2F
000000000050FEFFFFDB56AAAAEFEEFFFEFFEFFFFFFFEF0000000000D4FFFFFFFFEEFFFFBBFFBF
38F
9EFFFFFE9AF
0200000000C
0FEFFFFFFBBFFBFAFFFFEBAFFFAFFFFD2FE0500000000D0FFFFFFFFBEFABEFAEFFFBAFEEFEFFF1FEF2E0000000080FEFFFFFFBF6BD5EEFFBBFFFBFF65FF7FAA780000000000E8FFFFFFBFFBE7BFFAEBFFEABEC
2F
8FFADFB010000000040FEFFFFFFFEFFFFBF6BBEABBFE
0F
5FBBF0B
010000000000F
4FFFFFFAFAABABF2DAEBE1E80FBF1FF0200000000000000FDFFFFAF97AA7B
00A
49A
0EA0FFD5EB
0A
00010000000000D0FFFFBFFBFEBE6641FA0FF4FFE
3412A
4001000000000094FEEFBFFBFFFF5B55E42FF47FBFE1BB00010000000050FFFFE7FBFFBFEBBF565579FDFFBFD4BE
510100000000F
4FFFF9FA2BAFFFFFA5B
55F
1F
7FFEFD5EA450500000000BDFFFFFFBFE6FFEFAABFA5E
3F
5FFFF95D
54F
0100000040EFFFFFFFBFDABFADBAFFFFFBE9FF6E85E
52F
0200000080EBFEFFFFFFFAFF56EDEF5FFFFABFBAF9FE
7F
05000000E0EEFEFFFFEFFBBF4AE9BF03B4EFFFFAABAA
7A
01000000B4BAFBFFFFBFFFBFAA
956F
079CE7FFBFAAABEB01000040BAEEAAFEFFFFFFFEAAA66AFEEFF6FFABFFFFAE
070000C
0EAFFFFEAFFFBFFFF9BAAA6EAFEFFFFEEFBFFAF
1F
0000A
0FAFFFFBBBFF6EFFFABA
96A
7EBDF6FFFEFFBEBF
7A
0000B4FEBBFFBFBEF6FFFFEBEAFFFFFFBEBFFFEFFAFEEB0000ACBFEFEEFFEFFAFFFFAFFEFFFFFFFFEFFB
1A
40BEAF0100ACFF
01A
0FFFBFFBEFBFFEFFFFF1BE0FFBF
0100F
4EF0300EF
6F
1041FBFBFFAFFAFAAE
6A
0500D0EFAF5416D0BB0700EA1B5411FDFB
1F
15000000000000C0FB
2F
549AC
1BF0740FA0B
5156F
8FF
0F
00000000000000C
0FB1BA16641AF0B00FB177127E4EF070000000000000040FF0FE5AA01FF0E80FB
077136F
0FF424404000000411080FB0B996612EF0E00FE
57A
516E4EF151111111111041185FF4FA56612FF0E40FB
875A
66E4FF565544444444445555FF4BA
07A
54EF
0A
00FA4FAE55E8EF595655551111111155FF
1F
55C
559FF0700FA5FAA5AF8FB655556555555555444BB
2F
0645D6EF0600EC7FA517FEAF999965565555555555FABF
64A
5E5BB0200E8FF
81C
4BEBA
666A
9AA9AA
9A
995555EDBF525BF9FF
0100A
4FF9FF9FF6B9AA
6A
9665665555555B8FB
5A
91FEEE0000D0FBFFFFEF9B555515555411451501E1FFFFFFFF2B000080FEFFFFFE56551511000100000010C0EFFFBFEF1E000000BDFFFFAF5515410000000000000000BEEFFBFB
07000040F
4FFFF
6F
5904000000000000000010F8FFFFBF0000000055FBBF560100000000000000000044A5FFFF6B11000000000000000000000000000000000000005144000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</Data>
<Prompt>Refresh Interval=undefined</Prompt>
<SoftKeyItem>
<Name>Begin</Name>
<URL>http://192.168.2.53/cisco/jpegviewer/jpegviewer.asp?refresh=undefined</URL>
<Position>1</Position>
</SoftKeyItem>
<SoftKeyItem>
<Name>Next</Name>
<URL>http://192.168.2.53/cisco/jpegviewer/jpegviewer.asp?refresh=undefined&file=02raptor%5Fwht%
5F
4%2D01%5B1%5D%2Ejpg</URL>
<Position>3</Position>
</SoftKeyItem>
<SoftKeyItem>
<Name>Exit</Name>
<URL>SoftKey:Exit</URL>
<Position>4</Position>
</SoftKeyItem>
</CiscoIPPhoneImage>
CiscoIPPhoneImageFile
The latest generation of Cisco IP Phones have higher-resolution displays with more color depth. The Cisco IP Phone 7970, for example, has a display area of 298x168 pixels available to the 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 CiscoIPPhoneImage objects. The
CiscoIPPhoneImageFile object behaves like the CiscoIPPhoneImage object,except for the image data. Instead of using the <Data> tag to embed the image data, the <URL> tag points to the PNG image file.
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 Table 2-2).
Table 2-2 Cisco IP Phones Display Image Sizes and Color Depths
Resolution1 | |||
Cisco Unified IP Phones 7905G / 7911G / 7912G 2 | |||
Cisco Unified IP Phones 7941G , 7941G -GE, 7961G , 7961G -GE | |||
1. Represents the size of the display that is accessible by Services—not the full resolution of the physical display.
2. The Cisco 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” 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 IP Phone 7970.Figure 2-4 shows a CiscoIPPhoneImageFile object on a Cisco IP Phone 7970 display.
Figure 2-4 Cisco IP Phone 7970 Image File Display
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>
Example:
<CiscoIPPhoneImageFile>
<Title>Image Title</Title>
<Prompt>Image</Prompt>
<LocationX>1</LocationX>
<LocationY>1</LocationY>
<URL>http://192.168.2.46:8084/Test/abcd.png</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.
In these cases, the system presents the information as a bitmap graphic. The user then enters a number from the DTMF keypad to make a menu selection.
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>
<SoftKeyItem>
<Name>Name of the soft key</Name>
<URL>URL of soft key</Name>
<Position>Numerical position of the soft key</Position>
</SoftKeyItem>
</CiscoIPPhoneGraphicMenu>
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 MenuItem objects in a CiscoIPPhoneGraphicMenu object. See “CiscoIPPhoneMenu” and “CiscoIPPhoneImage” for detailed descriptions.
Example :
<CiscoIPPhoneGraphicMenu>
<LocationX>-1</LocationX>
<LocationY>-1</LocationY>
<Width>92</Width>
<Height>65</Height>
<Depth>2</Depth> <Data>00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000FA57000000000000000000000000000000000000000000AB97010000000000000000000000000000000000000040BA47020000000000000000000000000000000000000000A
5A
502000000000000000000000000000000000000000004A007000000000000000000000000000000000000000055A91B000000000000000000000000000000000000004005BB
2F
00000000000000000000000000000000000000B06BF21B
000000000000000000000000000000000000A
45699FE
3F
190000000000000000000100000000000040BA6991AEAF760000000000000000405B
010000000000A
85B
7A
125299AE
0F
00000000000060419A
6E
0100000040A
726F
85955A
8BA6B
0000000000004027A
5AA
1A
000000A
8BAE941565AB
99A
2D00000000000004BD
1A
90EA
6A
56A
96B5EFA2B2090FEFF
9A
00000000000000E9AB1AA5AAEAAAA
9A
7BFFF8040FFFFAF0600000000004099EFDB02699AA6EAE9FFFF0782FFFFFF1B000000000054AEFFBF6D90AAA9AAFEFBFF7FDDFFFFFF
2F
000000000050FEFFFFDB56AAAAEFEEFFFEFFEFFFFFFFEF0000000000D4FFFFFFFFEEFFFFBBFFBF
38F
9EFFFFFE9AF
0200000000C
0FEFFFFFFBBFFBFAFFFFEBAFFFAFFFFD2FE0500000000D0FFFFFFFFBEFABEFAEFFFBAFEEFEFFF1FEF2E0000000080FEFFFFFFBF6BD5EEFFBBFFFBFF65FF7FAA780000000000E8FFFFFFBFFBE7BFFAEBFFEABEC
2F
8FFADFB010000000040FEFFFFFFFEFFFFBF6BBEABBFE
0F
5FBBF0B
010000000000F
4FFFFFFAFAABABF2DAEBE1E80FBF1FF0200000000000000FDFFFFAF97AA7B
00A
49A
0EA0FFD5EB
0A
00010000000000D0FFFFBFFBFEBE6641FA0FF4FFE
3412A
4001000000000094FEEFBFFBFFFF5B55E42FF47FBFE1BB00010000000050FFFFE7FBFFBFEBBF565579FDFFBFD4BE
510100000000F
4FFFF9FA2BAFFFFFA5B
55F
1F
7FFEFD5EA450500000000BDFFFFFFBFE6FFEFAABFA5E
3F
5FFFF95D
54F
0100000040EFFFFFFFBFDABFADBAFFFFFBE9FF6E85E
52F
0200000080EBFEFFFFFFFAFF56EDEF5FFFFABFBAF9FE
7F
05000000E0EEFEFFFFEFFBBF4AE9BF03B4EFFFFAABAA
7A
01000000B4BAFBFFFFBFFFBFAA
956F
079CE7FFBFAAABEB01000040BAEEAAFEFFFFFFFEAAA66AFEEFF6FFABFFFFAE
070000C
0EAFFFFEAFFFBFFFF9BAAA6EAFEFFFFEEFBFFAF
1F
0000A
0FAFFFFBBBFF6EFFFABA
96A
7EBDF6FFFEFFBEBF
7A
0000B4FEBBFFBFBEF6FFFFEBEAFFFFFFBEBFFFEFFAFEEB0000ACBFEFEEFFEFFAFFFFAFFEFFFFFFFFEFFB
1A
40BEAF0100ACFF
01A
0FFFBFFBEFBFFEFFFFF1BE0FFBF
0100F
4EF0300EF
6F
1041FBFBFFAFFAFAAE
6A
0500D0EFAF5416D0BB0700EA1B5411FDFB
1F
15000000000000C0FB
2F
549AC
1BF0740FA0B
5156F
8FF
0F
00000000000000C
0FB1BA16641AF0B00FB177127E4EF070000000000000040FF0FE5AA01FF0E80FB
077136F
0FF424404000000411080FB0B996612EF0E00FE
57A
516E4EF151111111111041185FF4FA56612FF0E40FB
875A
66E4FF565544444444445555FF4BA
07A
54EF
0A
00FA4FAE55E8EF595655551111111155FF
1F
55C
559FF0700FA5FAA5AF8FB655556555555555444BB
2F
0645D6EF0600EC7FA517FEAF999965565555555555FABF
64A
5E5BB0200E8FF
81C
4BEBA
666A
9AA9AA
9A
995555EDBF525BF9FF
0100A
4FF9FF9FF6B9AA
6A
9665665555555B8FB
5A
91FEEE0000D0FBFFFFEF9B555515555411451501E1FFFFFFFF2B000080FEFFFFFE56551511000100000010C0EFFFBFEF1E000000BDFFFFAF5515410000000000000000BEEFFBFB
07000040F
4FFFF
6F
5904000000000000000010F8FFFFBF0000000055FBBF560100000000000000000044A5FFFF6B11000000000000000000000000000000000000005144000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</Data>
<Prompt>Refresh</Prompt>
<MenuItem>
<Name>begia</Name>
<URL>http://192.168.2.53/cisco/jpegviewer/jpegviewer.asp?refresh=undefined</URL>
</MenuItem>
<MenuItem>
<Name>Next</Name> <URL>http://192.168.2.53/cisco/jpegviewer/jpegviewer.asp?refresh=undefined&file=02raptor%5Fwht%
5F
4%2D01%5B1%5D%2Ejpg</URL>
</MenuItem>
<SoftKeyItem>
<Name>Exit</Name>
<URL>SoftKey:Exit</URL>
<Position>4</Position>
</SoftKeyItem>
</CiscoIPPhoneGraphicMenu>
1. Triggered by one key events
2. Triggered by two key events
CiscoIPPhoneGraphicFileMenu
Some of the latest Cisco IP Phone models, such as the Cisco IP Phone 7970 and Cisco IP Communicator, have pointer devices. The Cisco IP Phone 7970 uses a touchscreen overlay on the display, and the PC-based Cisco IP Communicator uses the standard Windows mouse 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, <TouchArea>, is defined by 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>.
Figure 2-5 shows the display of the CiscoIPPhoneGraphicFileMenu.
Figure 2-5 CiscoIPPhoneGraphicFileMenu
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 Table 2-2, “Cisco 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 <MenuItem> must appear before the larger one in the <CiscoIPPhoneGraphicFileMenu> object.The requirements for the PNG image referenced by the <URL> tag match those that the CiscoIPPhoneImageFile object uses.
Definition
<CiscoIPPhoneGraphicFileMenu>
<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"/>
<SoftKeyItem>
<Position>Numerical position of the soft key</Position>
<Name> Name of the soft key</Name>
<URL>URL of soft key</URL>
</SoftKeyItem>
</MenuItem>
</CiscoIPPhoneGraphicFileMenu>
Example :
<CiscoIPPhoneGraphicFileMenu>
<Title>Dear</Title>
<Prompt>*** Room:***</Prompt>
<LocationX>0</LocationX><LocationY>0</LocationY>
<URL>http://192.168.2.46:8084/Test/roomMenu2.png</URL>
<MenuItem>
<Name>SelectTime</Name>
<URL>http://192.168.2.46:8084/Test/</URL>
<TouchArea X1="69" Y1="0" X2="229" Y2="24"/>
</MenuItem>
<SoftKeyItem>
<Position>1</Position>
<Name>Back</Name>
<URL>SoftKey:Back</URL>
</SoftKeyItem>
<SoftKeyItem>
<Position>2</Position>
<Name>Exit</Name>
<URL>SoftKey:Exit</URL>
</SoftKeyItem>
</CiscoIPPhoneGraphicFileMenu>
<URL>http://192.168.2.46:8084/Test/</URL>
<TouchArea X1="69" Y1="0" X2="229" Y2="24"/>
Here admitted that the location is
The same method can be used in Hotel Restaurants, host Facilities, Message, the location of Service Directory
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 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.
Figure 2-6 shows an IconMenu on a Cisco IP Phone.
Figure 2-6 IconMenu on a Cisco 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 soft key</Name>
<URL>URL or URI of soft key</URL>
<Position>Position information of the soft key</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>
<Data>Packed Pixel Data</Data>
</IconItem>
</CiscoIPPhoneIconMenu>
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.
Sorry! I can’t not write this example
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 <Data> tag to embed the image data into the <IconItem> tag, this object uses a <URL> tag to point to the PNG image file to be used for that icon.
Figure 2-7 CiscoIPPhoneIconFileMenu Object Display Sample
Definition
<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>
Example :
<CiscoIPPhoneIconFileMenu>
<Title>Title text</Title>
<Prompt>image</Prompt>
<MenuItem>
<IconIndex>1</IconIndex>
<Name>name</Name>
<URL>http://192.168.2.46:8084/Test/</URL>
</MenuItem>
<IconItem>
<Index>1</Index>
<URL>http://192.168.2.46:8084/Test/image.png</URL>
</IconItem>
</CiscoIPPhoneIconFileMenu>
<IconIndex>1</IconIndex> <Index>1</Index>
These two values must be the same,the values is 0 to 9.
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.
Because the Status object is only present on the Call plane, the object cannot be closed or cleared by the user (for example, by pressing Services). 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. 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:
• 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-8 IconMenu 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>
Example :
<CiscoIPPhoneStatus >
<Text>Kelly Stearns</Text>
<Timer>263</Timer>
<LocationX>0</LocationX>
<LocationY>0</LocationY>
<Width>64</Width>
<Height>16</Height>
<Depth>2</Depth>
<Data>FFFFAA000000DDDFFEE99992222000033333555544440000DDDD000000000000011100000000E00000E000</Data>
</CiscoIPPhoneStatus >
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 7970, but may be different for other phone models. Figure 2-9 shows how an XML CiscoIPPhoneStatusFile object displays on the phone.
Figure 2-9 CiscoIPPhoneStatusFile Object Display Sample
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 <URL> tag to point to the PNG image file to be used for the graphics area.
Example :
<CiscoIPPhoneStatusFile>
<Text>This is the text area</Text>
<Timer>1</Timer>
<LocationX>0</LocationX>
<LocationY>0</LocationY>
<URL>http://192.168.2.46:8084/Test/image6.png</URL>
</CiscoIPPhoneStatusFile>
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. Like the other XML objects, the CiscoIPPhoneExecute can be either pushed (HTTP POST) or pulled (HTTP GET). Upon receiving a CiscoIPPhoneExecute object, the phone will begin executing the specified ExecuteItems. Order of execution is not guaranteed, so ExecuteItems will likely not execute in the order in which they are listed in the CiscoIPPhoneExecute object.
Note : Limit the requests to three ExecuteItems: only one can be a URL and two URIs per CiscoIPPhoneExecute object, or you can send three URIs with no URL.
Definition
<CiscoIPPhoneExecute>
<ExecuteItem URL=”the URL or URI to be executed”/>
</CiscoIPPhoneExecute>
The <ExecuteItem> tag of the CiscoIPPhoneExecute object includes an optional attribute called Priority. The Priority attribute is used to inform the phone of the urgency of the execute request and to indicate whether the phone should be interrupted to perform the request. The Priority levels determine whether the phone must be idle to perform the requested action. The Idle Timer (along with
an optional Idle URL) is defined globally in the Cisco CallManager Administration Enterprise Parameters and can be overridden on a per phone basis in the Cisco CallManager Device configuration.
The following table lists the Priority levels and their behavior.
Note The Priority attribute is only used for HTTP URLs. Internal URIs always execute
immediately.
Example :
The following CiscoIPPhoneExecute object results in the phone playing an alert “chime,” regardless of the state of the phone, but waits until the phone goes idle before displaying the specified XML page:
<CiscoIPPhoneExecute>
<ExecuteItem Priority=” 0” URL=”Play:chime.raw”/>
<ExecuteItem Priority=” 1” URL=”http://server/textmessage.xml”/>
</CiscoIPPhoneExecute>
CiscoIPPhoneResponse
The CiscoIPPhoneResponse object items provide messages and information
resulting from CiscoIPPhoneExecute. As a result, a ResponseItem exists for each
ExecuteItems that you send. The order differs based on completion time, and the
execution order is not guaranteed.
The URL attribute specifies the URL or URI that was sent with the request. The
Data attribute contains any special data for the item. The Status attribute specifies
a status code. Zero indicates that no error occurred during processing of the
ExecuteItem. If an error occurred, the phone returns a CiscoIPPhoneError object
Definition
<CiscoIPPhoneResponse>
<ResponseItem Status=”the success or failure of the action”
Data=”the information returned with the response” URL=”the URL or
URI specified in the Execute object”/>
</CiscoIPPhoneResponse>
Sorry! I can’t not write this example
CiscoIPPhoneError
The following list gives possible CiscoIPPhoneError codes:
• Error 1 = Error parsing CiscoIPPhoneExecute object
• Error 2 = Error framing CiscoIPPhoneResponse object
• Error 3 = Internal file error
• Error 4 = Authentication error
Definition
<CiscoIPPhoneError Number=”x”/> optional error
message<.CiscoIPPhoneError>
The text value of the CiscoIPPhoneError object may contain an optional error
message to further describe the nature of the error condition.
Example :
<CiscoIPPhoneError Number=” 4” /> This number values is 1 to 4
URIs for Invoking SoftKey Functionality
You can execute native softkey functionality when the phone executes a SoftKey URI. The SoftKey URI allows developers to customize softkey names and layout in the Services and Directories windows while retaining the functionality that the softkeys provide. Softkey URIs work in menu items and in softkey items in the XML objects for which they natively occur on the phone.
SoftKey
URI Format:
SoftKey:n
Where
n = one of the following softkey names:
• Back
• Cancel
• Exit
• Next
• Search
• Select
• Submit
• Update
• Dial
• EditDial
• <<
Table 3-2 contains valid softkey actions for each XSI object type follow. The URI invokes the native functionality that each key possesses in the given object context.