Partager via


10 Appendix E: Contact Management XML Schemas

See [MS-SIP] section 9 for the full contact management schema.

The deltaNum attribute is the last attribute in the fullContactList type described in [MS-SIP] section 9.

<xs:complexType name="fullContactList">
……….
…..
 
    <xs:element name="contact" type="tns:contact" 
                minOccurs="0" maxOccurs="unbounded"> 
       <xs:annotation>
         <xs:documentation>
           Although the schema allows for an unbounded number of contacts, the   
    administrator can configure a server to disallow more than a certain number of contacts.
         </xs:documentation>
       </xs:annotation>
    </xs:element>
  </xs:sequence> 
  <xs:attribute name="deltaNum" type="tns:contactDeltaNm" use="required"/> 
</xs:complexType>
 
<xs:element name="contactList" type="tns:fullContactList" />
 

This section contains the schema for the fullContactList type extension<50>

 <xs:complexType name="fullContactList">
   <xs:sequence>
     <xs:element name="group" type="tns:group" 
                 minOccurs="0" maxOccurs="64" />
     <xs:element name="contact" type="tns:contact" 
                 minOccurs="0" maxOccurs="unbounded" >
       <xs:annotation>
         <xs:documentation>
           Although the schema allows for an unbounded number of
           contacts, the administrator can configure a server to
           disallow more than a certain number of contacts.
         </xs:documentation>
       </xs:annotation>
     </xs:element>
   </xs:sequence>
   <xs:attribute name="deltaNum" type="tns:contactDeltaNum" use="required" />
   <xs:attribute name="ucsMode" type="tns:contactUcsMode" use="required" />
</xs:complexType>
 
<xs:element name="contactList" type="tns:fullContactList" /> 
  

The fullContactList type has been extended with a new attribute called ucsMode as shown above.

 

The prevDeltaNum attribute is the last attribute in the deltaContactList type described in [MS-SIP] section 9.

<xs:complexType name="deltaContactList">
……….
…..
 
   <xs:attribute name="deltaNum" type="tns:contactDeltaNum" use="required" >
     <xs:annotation>
       <xs:documentation>
         The value of this attribute is the new delta number
         after the SERVICE operation was performed.
       </xs:documentation>
     </xs:annotation>
   </xs:attribute>
   <xs:attribute name="prevDeltaNum" type="tns:contactDeltaNum" use="required" >
     <xs:annotation>
       <xs:documentation>
         The value of this attribute equals the value of the
         delta number specified in the SERVICE operation.
       </xs:documentation>
     </xs:annotation>
  </xs:attribute>
</xs:complexType>
<xs:element name="contactDelta" type="tns:deltaContactList" />
 

This section contains the schema for the deltaContactList type extension<51>

 <xs:complexType name="deltaContactList">
   <xs:choice>
     <xs:element name="addedGroup" type="tns:group" />
     <xs:element name="modifiedGroup" type="tns:group" />
     <xs:element name="addedContact" type="tns:contact" />
     <xs:element name="modifiedContact" type="tns:contact" />
     <xs:element name="deletedGroup">
       <xs:complexType>
         <xs:attribute name="id" type="tns:groupID" use="required" />
       </xs:complexType>
     </xs:element>
     <xs:element name="deletedContact">
       <xs:complexType>
         <xs:attribute name="uri" type="tns:sipURI" use="required" />
       </xs:complexType>
     </xs:element>
   </xs:choice>
   <xs:attribute name="deltaNum" type="tns:contactDeltaNum" use="required" >
     <xs:annotation>
       <xs:documentation>
        The value of this attribute is the new delta number
         after the SERVICE operation was performed.
       </xs:documentation>
     </xs:annotation>
   </xs:attribute>
   <xs:attribute name="prevDeltaNum" type="tns:contactDeltaNum" use="required" >
     <xs:annotation>
       <xs:documentation>
         The value of this attribute equals the value of the
         delta number specified in the SERVICE operation.
       </xs:documentation>
     </xs:annotation>
   </xs:attribute>
   <xs:attribute name="ucsMode" type="tns:contactUcsMode" use="required" />
 </xs:complexType>
<xs:element name="contactDelta" type="tns:deltaContactList" />  

The deltaContactList type has been extended with a new attribute called ucsMode as shown above.

The definition for new type contactUcsMode is shown below

  <xs:simpleType name="contactUcsMode">
    <xs:restriction base="xs:string">
      <xs:annotation>
        <xs:documentation>
          The server maintains the ucs mode for every user. The ucs mode indicates 
          if the contact list for the user is stored on the server or another  
          external store such as Exchange. The ucs mode can be disabled, allowed, 
          migrating or migrated. If the mode is disabled, the contact list is 
          stored on the server. If the mode is allowed, it indicates that the  
          contact list is stored on the server but will be moved to the external 
          store anytime. If the ucs mode is set to migrating, it indicates that the 
          contact list is in the process of being migrated to the external store. 
          If the mode is migrated, migration has already happened and contact list 
          is now on the external store. When the ucs mode is set to migrating or 
          migrated, all operations that will modify the contact list are rejected 
          by the server though an implementation may choose to suppose 
          modifications while the contact list is migrating and/or after it has 
          migrated.
        </xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>