7.2 state/dndState Category

 Location: http://schemas.microsoft.com/2006/09/sip/state

 <?xml version="1.0" encoding="UTF-8"?>
 <xs:schema
   targetNamespace="http://schemas.microsoft.com/2006/09/sip/state"
   xmlns:tns="http://schemas.microsoft.com/2006/09/sip/state"
   xmlns:xs="http://www.w3.org/2001/XMLSchema"
   xmlns:ct="http://schemas.microsoft.com/2006/09/sip/commontypes"
   elementFormDefault="qualified"
   attributeFormDefault="unqualified"
   >
  
   <xs:include schemaLocation="statetypes.xsd"/>
  
   <xs:import namespace="http://schemas.microsoft.com/2006/09/sip/commontypes"
              schemaLocation="commontypes.xsd"/>
  
   <xs:annotation>
     <xs:documentation>
       This Schema identifies state.
     </xs:documentation>
   </xs:annotation>
  
   <xs:simpleType name="deviceTypeEnum">
     <xs:annotation>
       <xs:documentation>
         computer:  Office communicator.
         deskphone: Office communicator phone edition, a.k.a. DOMO/Tanjay.
         mobile:    Office communicator mobile edition, a.k.a. COMO.
         web:       Office communicator web access, a.k.a. CWA.
       </xs:documentation>
     </xs:annotation>    
     <xs:restriction base="xs:token">
       <xs:enumeration value="computer"/>
       <xs:enumeration value="deskphone"/>
       <xs:enumeration value="mobile"/>
       <xs:enumeration value="web"/>
     </xs:restriction>
   </xs:simpleType>
  
   <xs:simpleType name="deviceTypeEnumEx">
     <xs:union memberTypes="tns:deviceTypeEnum xs:token" />
   </xs:simpleType>
  
   <xs:simpleType name="endpointLocationEnum">
     <xs:restriction base="xs:token">
       <xs:enumeration value="office"/>
       <xs:enumeration value="mobile"/>
       <xs:enumeration value="home"/>
       <xs:enumeration value="none"/>
     </xs:restriction>
   </xs:simpleType>
  
   <xs:simpleType name="endpointLocationEnumEx">
     <xs:union memberTypes="tns:endpointLocationEnum xs:token" />
   </xs:simpleType>
  
   <xs:complexType name="extensionType">
     <xs:sequence>
       <xs:any processContents="lax" minOccurs="1"
              maxOccurs="unbounded" namespace="##targetNamespace"/>
     </xs:sequence>
   </xs:complexType>
  
   <xs:simpleType name="unboundedType">
     <xs:union memberTypes="xs:unsignedInt">
       <xs:simpleType>
         <xs:restriction base="xs:token">
           <xs:enumeration value="unbounded"/>
         </xs:restriction>
       </xs:simpleType>
     </xs:union>
   </xs:simpleType>
  
   <xs:simpleType name="activityTokenTypeEnum">
     <xs:restriction base="xs:token">
       <xs:enumeration value="on-the-phone"/>
       <xs:enumeration value="in-a-conference"/>
       <xs:enumeration value="in-a-meeting"/>
       <xs:enumeration value="out-of-office"/>
       <xs:enumeration value="urgent-interruptions-only"/>
       <xs:enumeration value="off-work"/>
       <xs:enumeration value="in-presentation"/>
     </xs:restriction>
   </xs:simpleType>
  
   <xs:simpleType name="activityTokenTypeEnumEx">
     <xs:union memberTypes="tns:activityTokenTypeEnum xs:token" />
   </xs:simpleType>
  
   <xs:complexType name="activityType">
     <xs:sequence>
       <xs:element name="custom" type="tns:LCIDType" minOccurs="0" maxOccurs="unbounded"/>
  
       <xs:sequence minOccurs="0" maxOccurs="1">
         <xs:sequence minOccurs="0" maxOccurs="unbounded">
           <xs:element ref="ct:delimiter"/>
           <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
         <xs:element ref="ct:end"/>
       </xs:sequence>
       <xs:element ref="ct:extension" minOccurs="0" maxOccurs="1"/>
  
  
     </xs:sequence>
     <xs:attribute name="token" type="tns:activityTokenTypeEnumEx" use="optional"/>
     <xs:attribute name="maxAvailability" type="tns:unboundedType" use="optional" default="unbounded"/>
     <xs:attribute name="minAvailability" type="tns:unboundedType" use="optional" default="0"/>
     <xs:anyAttribute processContents="lax"/>
   </xs:complexType>
   <xs:complexType name="stateType" abstract="true">
     <xs:sequence>
       <xs:element name="availability" type="xs:unsignedInt" minOccurs="0"/>
       <xs:element name="activity" type="tns:activityType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="endpointLocation" type="tns:endpointLocationEnumEx" minOccurs="0"/>
       
       <xs:element name="extension"  type="tns:extensionType" minOccurs="0" maxOccurs="1"/>
  
     </xs:sequence>
     <xs:attribute name="manual" type="xs:boolean" use="optional" default="false"/>
     <xs:attribute name="startTime" type="xs:dateTime" use="optional"/>
     <xs:attribute name="majorVersion" type="xs:unsignedInt" use="optional" />
     <xs:attribute name="minorVersion" type="xs:unsignedInt" use="optional" />
     <xs:anyAttribute processContents="lax"/>
   </xs:complexType>
   <xs:complexType name="aggregateState">
     <xs:complexContent>
       <xs:extension base="tns:stateType">
         <xs:sequence>
           <xs:element name="meetingSubject" type="tns:LCIDType" minOccurs="0"/>
           <xs:element name="meetingLocation" type="tns:LCIDType" minOccurs="0"/>
  
           <xs:sequence minOccurs="0" maxOccurs="1">
  
             <!-- W13 extension -->
             <xs:element ref="ct:delimiter"/>
             <xs:element name="timeZoneBias" type="xs:long" minOccurs="0"/>
             <xs:element name="timeZoneName" type="xs:string" minOccurs="0"/>
             <xs:element name="timeZoneAbbreviation" type="xs:string" minOccurs="0"/>
             <xs:element name="device" type="tns:deviceTypeEnumEx" minOccurs="0" maxOccurs="1"/>
  
             <xs:sequence minOccurs="0" maxOccurs="unbounded">
               <xs:element ref="ct:delimiter"/>
               <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
             </xs:sequence>
             <xs:element ref="ct:end"/>
           </xs:sequence>
           <xs:element ref="ct:extension" minOccurs="0" maxOccurs="1"/>
  
         </xs:sequence>
         <xs:attribute name="lastActive" type="xs:dateTime" use="optional"/>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="aggregateMachineState">
     <xs:complexContent>
       <xs:extension base="tns:stateType">
  
         <xs:sequence>
           
           <xs:sequence minOccurs="0" maxOccurs="1">
  
             <!-- W13 extension -->
             <xs:element ref="ct:delimiter"/>
             <xs:element name="timeZoneBias" type="xs:long" minOccurs="0"/>
             <xs:element name="timeZoneName" type="xs:string" minOccurs="0"/>
             <xs:element name="timeZoneAbbreviation" type="xs:string" minOccurs="0"/>
             <xs:element name="device" type="tns:deviceTypeEnumEx" minOccurs="0" maxOccurs="1"/>
  
             <xs:sequence minOccurs="0" maxOccurs="unbounded">
               <xs:element ref="ct:delimiter"/>
               <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
             </xs:sequence>
             <xs:element ref="ct:end"/>
           </xs:sequence>
           <xs:element ref="ct:extension" minOccurs="0" maxOccurs="1"/>
  
         </xs:sequence>
  
         <xs:attribute name="endpointId" type="xs:string"/>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="userState">
     <xs:complexContent>
       <xs:extension base="tns:stateType">
  
         <xs:sequence>
  
           <xs:sequence minOccurs="0" maxOccurs="1">
             <xs:sequence minOccurs="0" maxOccurs="unbounded">
               <xs:element ref="ct:delimiter"/>
               <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
             </xs:sequence>
             <xs:element ref="ct:end"/>
           </xs:sequence>
           <xs:element ref="ct:extension" minOccurs="0" maxOccurs="1"/>
  
         </xs:sequence>
  
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="presentingState">
     <xs:complexContent>
       <xs:extension base="tns:stateType">
          <xs:sequence>
            <xs:sequence minOccurs="0" maxOccurs="1">
             <xs:sequence minOccurs="0" maxOccurs="unbounded">
               <xs:element ref="ct:delimiter"/>
               <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
             </xs:sequence>
             <xs:element ref="ct:end"/>
           </xs:sequence>
           <xs:element ref="ct:extension" minOccurs="0" maxOccurs="1"/>
          </xs:sequence>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="machineState">
     <xs:complexContent>
       <xs:extension base="tns:stateType">
         <xs:sequence>
  
           <xs:sequence minOccurs="0" maxOccurs="1">
  
             <!-- W13 extension -->
             <xs:element ref="ct:delimiter"/>
             <xs:element name="timeZoneBias" type="xs:long" minOccurs="0"/>
             <xs:element name="timeZoneName" type="xs:string" minOccurs="0"/>
             <xs:element name="timeZoneAbbreviation" type="xs:string" minOccurs="0"/>
             <xs:element name="device" type="tns:deviceTypeEnumEx" minOccurs="0" maxOccurs="1"/>
  
             <xs:sequence minOccurs="0" maxOccurs="unbounded">
               <!-- W15 extension -->
               <xs:element ref="ct:delimiter"/>
               <xs:element name="treatLocationAsProximate" type="xs:string" minOccurs="0"/>
               <xs:sequence minOccurs="0" maxOccurs="unbounded">
                 <xs:element ref="ct:delimiter"/>
                 <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
               </xs:sequence>
             </xs:sequence>
             <xs:element ref="ct:end"/>
           </xs:sequence>
           <xs:element ref="ct:extension" minOccurs="0" maxOccurs="1"/>
           
         </xs:sequence>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="phoneState">
     <xs:complexContent>
       <xs:extension base="tns:stateType">
  
         <xs:sequence>
  
           <xs:sequence minOccurs="0" maxOccurs="1">
             <xs:sequence minOccurs="0" maxOccurs="unbounded">
               <xs:element ref="ct:delimiter"/>
               <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
             </xs:sequence>
             <xs:element ref="ct:end"/>
           </xs:sequence>
           <xs:element ref="ct:extension" minOccurs="0" maxOccurs="1"/>
  
         </xs:sequence>
  
         <xs:attribute name="uri" type="xs:anyURI" use="optional"/>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="calendarState">
     <xs:complexContent>
       <xs:extension base="tns:stateType">
         <xs:sequence>
           <xs:element name="meetingSubject" type="tns:LCIDType" minOccurs="0"/>
           <xs:element name="meetingLocation" type="tns:LCIDType" minOccurs="0"/>
  
           <xs:sequence minOccurs="0" maxOccurs="1">
             <xs:sequence minOccurs="0" maxOccurs="unbounded">
               <xs:element ref="ct:delimiter"/>
               <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
             </xs:sequence>
             <xs:element ref="ct:end"/>
           </xs:sequence>
           <xs:element ref="ct:extension" minOccurs="0" maxOccurs="1"/>
  
         </xs:sequence>
         <xs:attribute name="uri" type="xs:anyURI" use="optional"/>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
  
   <xs:element name="state" type="tns:stateType"/>
</xs:schema>