Cisco Unified IP Phone Services
XML Schema File
These sections provide details about the XML schema supported on Cisco Unified IP Phones:
•Updated XML Parser and Schema Enforcement
•CiscoIPPhone.xsd
Updated XML Parser and Schema Enforcement
In order to provide a stable and consistent platform upon which to build enhancements to IP phones services, Cisco released an updated XML parser beginning with firmware release 8.3(2). As a result, many Cisco Unified IP Phones now contain this updated XML parser which provides a more rigid enforcement of the XML schema. This updated parser provides more error logging information when it encounters XML schema violations, and it enables developers to debug their applications more efficiently.
Cisco recommends that developers verify that their existing applications conform to the XML schema to avoid incompatibilities with any XML enhancements, particularly if you want to incorporate new URIs.
The following Cisco Unified IP Phones implement this new XML parser: 7906G, 7911G, 7921G, 7931G, 7941G/7941G-GE 7942G, 7945G, 7961G/7961G-GE, 7962G, 7965G, 7970G/ 7971G-GE, 7975G
CiscoIPPhone.xsd
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Cisco
Systems, Inc. (Cisco Systems, Inc.) -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified"
version="3.3.4">
<xsd:complexType name="CiscoIPPhoneExecuteItemType">
<xsd:attribute name="Priority" use="optional">
<xsd:restriction base="xsd:unsignedByte">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="2"/>
<xsd:attribute name="URL" use="required">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="256"/>
<xsd:minLength value="1"/>
<xsd:complexType name="CiscoIPPhoneResponseItemType">
<xsd:element name="Status" type="xsd:short"/>
<xsd:element name="Data">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="32"/>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="256"/>
<xsd:complexType name="CiscoIPPhoneTouchAreaMenuItemType">
<xsd:element name="Name" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="32"/>
<xsd:element name="URL" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="256"/>
<xsd:element name="TouchArea" type="CiscoIPPhoneTouchAreaType"
minOccurs="0"/>
<xsd:complexType name="CiscoIPPhoneTouchAreaType">
<xsd:attribute name="X1" type="xsd:unsignedShort" use="required"/>
<xsd:attribute name="Y1" type="xsd:unsignedShort" use="required"/>
<xsd:attribute name="X2" type="xsd:unsignedShort" use="required"/>
<xsd:attribute name="Y2" type="xsd:unsignedShort" use="required"/>
<xsd:complexType name="CiscoIPPhoneDirectoryEntryType">
<xsd:element name="Name" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="32"/>
<xsd:minLength value="0"/>
<xsd:element name="Telephone" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="32"/>
<xsd:minLength value="0"/>
<xsd:complexType name="CiscoIPPhoneInputItemType">
<xsd:element name="DisplayName" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="32"/>
<xsd:minLength value="0"/>
<xsd:element name="QueryStringParam">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="32"/>
<xsd:minLength value="1"/>
<xsd:element name="InputFlags">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="A"/>
<xsd:enumeration value="T"/>
<xsd:enumeration value="N"/>
<xsd:enumeration value="E"/>
<xsd:enumeration value="U"/>
<xsd:enumeration value="L"/>
<xsd:enumeration value="AP"/>
<xsd:enumeration value="TP"/>
<xsd:enumeration value="NP"/>
<xsd:enumeration value="EP"/>
<xsd:enumeration value="UP"/>
<xsd:enumeration value="LP"/>
<xsd:enumeration value="PA"/>
<xsd:enumeration value="PT"/>
<xsd:enumeration value="PN"/>
<xsd:enumeration value="PE"/>
<xsd:enumeration value="PU"/>
<xsd:enumeration value="PL"/>
<xsd:element name="DefaultValue" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="32"/>
<xsd:minLength value="0"/>
<xsd:complexType name="CiscoIPPhoneMenuItemType">
<xsd:element name="Name" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="64"/>
<xsd:element name="URL" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="256"/>
<xsd:minLength value="0"/>
<xsd:complexType name="CiscoIPPhoneIconItemType">
<xsd:element name="Index" type="xsd:unsignedShort"/>
<xsd:element name="Width">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="16"/>
<xsd:element name="Height">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="10"/>
<xsd:element name="Depth">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="2"/>
<xsd:element name="Data" minOccurs="0">
<xsd:restriction base="xsd:hexBinary">
<xsd:maxLength value="40"/>
<xsd:minLength value="0"/>
<xsd:complexType name="CiscoIPPhoneIconMenuItemType">
<xsd:element name="Name" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="64"/>
<xsd:element name="URL" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="256"/>
<xsd:minLength value="0"/>
<xsd:element name="IconIndex" minOccurs="0">
<xsd:restriction base="xsd:short">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="9"/>
<xsd:complexType name="CiscoIPPhoneIconFileItemType">
<xsd:element name="Index">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="9"/>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="256"/>
<xsd:complexType name="CiscoIPPhoneKeyType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="KeyPad0"/>
<xsd:enumeration value="KeyPad1"/>
<xsd:enumeration value="KeyPad2"/>
<xsd:enumeration value="KeyPad3"/>
<xsd:enumeration value="KeyPad4"/>
<xsd:enumeration value="KeyPad5"/>
<xsd:enumeration value="KeyPad6"/>
<xsd:enumeration value="KeyPad7"/>
<xsd:enumeration value="KeyPad8"/>
<xsd:enumeration value="KeyPad9"/>
<xsd:enumeration value="KeyPadStar"/>
<xsd:enumeration value="KeyPadPound"/>
<xsd:enumeration value="NavUp"/>
<xsd:enumeration value="NavDown"/>
<xsd:enumeration value="NavLeft"/>
<xsd:enumeration value="NavRight"/>
<xsd:enumeration value="NavSelect"/>
<xsd:enumeration value="NavBack"/>
<xsd:enumeration value="PushToTalk"/>
<xsd:element name="URL" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="256"/>
<xsd:element name="URLDown" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="256"/>
<xsd:complexType name="CiscoIPPhoneSoftKeyType">
<xsd:element name="Name" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="32"/>
<xsd:minLength value="0"/>
<xsd:element name="Position">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="8"/>
<xsd:element name="URL" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="256"/>
<xsd:minLength value="0"/>
<xsd:element name="URLDown" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="256"/>
<xsd:complexType name="CiscoIPPhoneDisplayableType">
<xsd:element name="Title" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="32"/>
<xsd:element name="Prompt" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="32"/>
<xsd:element name="SoftKeyItem" type="CiscoIPPhoneSoftKeyType"
minOccurs="0" maxOccurs="8"/>
<xsd:element name="KeyItem" type="CiscoIPPhoneKeyType"
minOccurs="0" maxOccurs="32"/>
<xsd:attribute name="keypadTarget" use="optional"
default="application">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="application"/>
<xsd:enumeration value="applicationCall"/>
<xsd:enumeration value="activeCall"/>
<xsd:attribute name="appId" use="optional">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="64"/>
<xsd:attribute name="onAppFocusLost" use="optional">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="256"/>
<xsd:attribute name="onAppFocusGained" use="optional">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="256"/>
<xsd:attribute name="onAppMinimized" use="optional">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="256"/>
<xsd:attribute name="onAppClosed" use="optional">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="256"/>
<xsd:element name="CiscoIPPhoneExecute">
<xsd:element name="ExecuteItem"
type="CiscoIPPhoneExecuteItemType" maxOccurs="3"/>
<xsd:element name="CiscoIPhoneResponse">
<xsd:element name="ResponseItem"
type="CiscoIPPhoneResponseItemType" maxOccurs="3"/>
<xsd:element name="CiscoIPPhoneError">
<xsd:attribute name="Number" type="xsd:unsignedShort"
use="required"/>
<xsd:element name="CiscoIPPhoneText">
<xsd:extension base="CiscoIPPhoneDisplayableType">
<xsd:element name="Text" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="4000"/>
<xsd:element name="CiscoIPPhoneInput">
<xsd:extension base="CiscoIPPhoneDisplayableType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="256"/>
<xsd:element name="InputItem"
type="CiscoIPPhoneInputItemType" minOccurs="0" maxOccurs="5"/>
<xsd:element name="CiscoIPPhoneDirectory">
<xsd:extension base="CiscoIPPhoneDisplayableType">
<xsd:element name="DirectoryEntry"
type="CiscoIPPhoneDirectoryEntryType" minOccurs="0" maxOccurs="32"/>
<xsd:element name="CiscoIPPhoneImage">
<xsd:extension base="CiscoIPPhoneDisplayableType">
<xsd:element name="LocationX" default="0" minOccurs="0">
<xsd:restriction base="xsd:short">
<xsd:minInclusive value="-1"/>
<xsd:maxInclusive value="132"/>
<xsd:element name="LocationY" default="0" minOccurs="0">
<xsd:restriction base="xsd:short">
<xsd:minInclusive value="-1"/>
<xsd:maxInclusive value="64"/>
<xsd:element name="Width">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="133"/>
<xsd:element name="Height">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="65"/>
<xsd:element name="Depth">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="2"/>
<xsd:element name="Data" minOccurs="0">
<xsd:restriction base="xsd:hexBinary">
<xsd:maxLength value="2162"/>
<xsd:minLength value="0"/>
<xsd:element name="CiscoIPPhoneImageFile">
<xsd:extension base="CiscoIPPhoneDisplayableType">
<xsd:element name="LocationX" default="0" minOccurs="0">
<xsd:restriction base="xsd:short">
<xsd:minInclusive value="-1"/>
<xsd:maxInclusive value="297"/>
<xsd:element name="LocationY" default="0" minOccurs="0">
<xsd:restriction base="xsd:short">
<xsd:minInclusive value="-1"/>
<xsd:maxInclusive value="167"/>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="256"/>
<xsd:minLength value="1"/>
<xsd:element name="CiscoIPPhoneMenu">
<xsd:extension base="CiscoIPPhoneDisplayableType">
<xsd:element name="MenuItem"
type="CiscoIPPhoneMenuItemType" minOccurs="0" maxOccurs="100"/>
<xsd:element name="CiscoIPPhoneIconMenu">
<xsd:extension base="CiscoIPPhoneDisplayableType">
<xsd:element name="MenuItem"
type="CiscoIPPhoneIconMenuItemType" minOccurs="0" maxOccurs="32"/>
<xsd:element name="IconItem"
type="CiscoIPPhoneIconItemType" minOccurs="0" maxOccurs="10"/>
<xsd:element name="CiscoIPPhoneIconFileMenu">
<xsd:extension base="CiscoIPPhoneDisplayableType">
<xsd:element name="MenuItem"
type="CiscoIPPhoneIconMenuItemType" minOccurs="0" maxOccurs="32"/>
<xsd:element name="IconItem"
type="CiscoIPPhoneIconFileItemType" minOccurs="0" maxOccurs="10"/>
<xsd:attribute name="IconIndex" type="xsd:unsignedShort"
use="optional"/>
<xsd:element name="CiscoIPPhoneGraphicMenu">
<xsd:extension base="CiscoIPPhoneDisplayableType">
<xsd:element name="LocationX" default="0" minOccurs="0">
<xsd:restriction base="xsd:short">
<xsd:minInclusive value="-1"/>
<xsd:maxInclusive value="132"/>
<xsd:element name="LocationY" default="0" minOccurs="0">
<xsd:restriction base="xsd:short">
<xsd:minInclusive value="-1"/>
<xsd:maxInclusive value="64"/>
<xsd:element name="Width">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="133"/>
<xsd:element name="Height">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="65"/>
<xsd:element name="Depth">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="2"/>
<xsd:element name="Data" minOccurs="0">
<xsd:restriction base="xsd:hexBinary">
<xsd:maxLength value="2162"/>
<xsd:minLength value="0"/>
<xsd:element name="MenuItem"
type="CiscoIPPhoneMenuItemType" minOccurs="0" maxOccurs="12"/>
<xsd:element name="CiscoIPPhoneGraphicFileMenu">
<xsd:extension base="CiscoIPPhoneDisplayableType">
<xsd:element name="LocationX" default="0" minOccurs="0">
<xsd:restriction base="xsd:short">
<xsd:minInclusive value="-1"/>
<xsd:maxInclusive value="297"/>
<xsd:element name="LocationY" default="0" minOccurs="0">
<xsd:restriction base="xsd:short">
<xsd:minInclusive value="-1"/>
<xsd:maxInclusive value="167"/>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="256"/>
<xsd:minLength value="1"/>
<xsd:element name="MenuItem"
type="CiscoIPPhoneTouchAreaMenuItemType" minOccurs="0"
maxOccurs="32"/>
<xsd:element name="CiscoIPPhoneStatus">
<xsd:element name="Text" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="32"/>
<xsd:element name="Timer" minOccurs="0">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="0"/>
<xsd:element name="LocationX" default="0" minOccurs="0">
<xsd:restriction base="xsd:short">
<xsd:minInclusive value="-1"/>
<xsd:maxInclusive value="105"/>
<xsd:element name="LocationY" default="0" minOccurs="0">
<xsd:restriction base="xsd:short">
<xsd:minInclusive value="-1"/>
<xsd:maxInclusive value="20"/>
<xsd:element name="Width">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="106"/>
<xsd:element name="Height">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="21"/>
<xsd:element name="Depth">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="2"/>
<xsd:element name="Data" minOccurs="0">
<xsd:restriction base="xsd:hexBinary">
<xsd:minLength value="0"/>
<xsd:maxLength value="557"/>
<xsd:element name="CiscoIPPhoneStatusFile">
<xsd:element name="Text" minOccurs="0">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="32"/>
<xsd:element name="Timer" minOccurs="0">
<xsd:restriction base="xsd:unsignedShort">
<xsd:minInclusive value="0"/>
<xsd:element name="LocationX" default="0" minOccurs="0">
<xsd:restriction base="xsd:short">
<xsd:minInclusive value="-1"/>
<xsd:maxInclusive value="261"/>
<xsd:element name="LocationY" default="0" minOccurs="0">
<xsd:restriction base="xsd:short">
<xsd:minInclusive value="-1"/>
<xsd:maxInclusive value="49"/>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="256"/>