<?xml version="1.0"?>
<!-- 2006 (c)CableLabs. All rights reserved -->
<!--PacketCable R2 PACM: XML Schema Definitions for "CL-PKTC-TC" -->
<xsd:schema xmlns="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/v1/CL-PKTC-TC" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:smi="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/smi" xmlns:SNMPv2-CONF="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/SNMPv2-CONF" 
xmlns:SNMPv2-SMI="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/SNMPv2-SMI" 
xmlns:SNMPv2-TC="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/SNMPv2-TC" xmlns:SNMP-FRAMEWORK-MIB="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/SNMP-FRAMEWORK-MIB" xmlns:CLAB-DEF-MIB="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/CLAB-DEF-MIB" xmlns:INET-ADDRESS-MIB="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/INET-ADDRESS-MIB" xmlns:PKTC-ACLS="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/v1/CL-PKTC-ACL" xmlns:ns1="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/SNMPv2-SMI" targetNamespace="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/v1/CL-PKTC-TC" elementFormDefault="qualified" attributeFormDefault="unqualified" xml:lang="en">
	<xsd:annotation>
		<xsd:documentation>
      The data elements in this SMIv2 definition
      specify the TEXTUAL CONVENTIONs for use in 
      the definition of PacketCable PACM data 
      elements. 
      
      Further, for those data elements that are 
      indicated to be overridden by more specific
      data definitions in the XML Schema 
      representation, the XML Schema 
      snippets are included.
    </xsd:documentation>
	</xsd:annotation>
	<xsd:import namespace="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/smi" schemaLocation="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/SMI.xsd"/>
	<xsd:import namespace="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/SNMPv2-SMI" schemaLocation="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/SNMPv2-SMI.xsd"/>
	<xsd:import namespace="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/SNMPv2-CONF" schemaLocation="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/SNMPv2-CONF.xsd"/>
	<xsd:import namespace="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/SNMPv2-TC" schemaLocation="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/SNMPv2-TC.xsd"/>
	<xsd:import namespace="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/SNMP-FRAMEWORK-MIB" schemaLocation="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/SNMP-FRAMEWORK-MIB.xsd"/>
	<xsd:import namespace="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/CLAB-DEF-MIB" schemaLocation="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/CLAB-DEF-MIB.xsd"/>
	<xsd:import namespace="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/INET-ADDRESS-MIB" schemaLocation="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/smi/INET-ADDRESS-MIB.xsd"/>
	<xsd:import namespace="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/v1/CL-PKTC-ACL" schemaLocation="http://www.cablelabs.com/namespaces/PacketCable/R2/XSD/v1/CL-PKTC-ACL.xsd"/>
	
	<xsd:element name="CL-PKTC-TC">
		<xsd:annotation>
			<xsd:appinfo>
				<PKTC-ACLS:access-control>NetworkWritable</PKTC-ACLS:access-control>
			</xsd:appinfo>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="PKTC-ACLS:aggregated-acls" minOccurs="0"/>
				<xsd:element name="pktcPACMTCUsageObjs" type="pktcPACMTCUsageObjsType">
					<xsd:annotation>
						<xsd:appinfo>
							<maxAccess>unknown</maxAccess>
							<oid>1.3.6.1.4.1.4491.2.2.7.1.1.2</oid>
							<status>unknown</status>
						</xsd:appinfo>
					</xsd:annotation>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="pktcPACMTCUsageObjsType">
		<xsd:sequence>
			<xsd:element name="pktcPACMTCMinorVersion" type="smi:Unsigned32" minOccurs="0">
				<xsd:annotation>
					<xsd:appinfo>
						<maxAccess>read-only</maxAccess>
						<oid>1.3.6.1.4.1.4491.2.2.7.1.1.2.1</oid>
						<status>current</status>
						<default>0</default>
						<PKTC-ACLS:access-control>NetworkWritable</PKTC-ACLS:access-control>
						<user-hint>R0</user-hint>
					</xsd:appinfo>
					<xsd:documentation>
            The default value of this MIB Object contains the minor version 
            of the contained data model.
            Since the contained data model defines only data types, any 
            change that is not backward compatible, i.e. addition, deletion
            or modification MUST result in the major version being revised.
          </xsd:documentation>
				</xsd:annotation>
			</xsd:element>

			<xsd:element name="eXTOBJpktcPACMObjects" type="PktcPACMExtension" minOccurs="0">
				<xsd:annotation>
					<xsd:appinfo>
						<maxAccess>read-only</maxAccess>
						<oid>1.3.6.1.4.1.4491.2.2.7.1.1.2.11</oid>
						<status>current</status>
					</xsd:appinfo>
					<xsd:documentation>
            Sample MIB Object for use of 'pktcPACMExtension'.
          </xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			
			<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	
    <xsd:complexType name="PktcPACMExtension">
     <xsd:annotation>
       <xsd:documentation>
         XML Element introduced for XML Schema extensibility
       </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
       <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
      <xsd:anyAttribute namespace="##any" processContents="lax"/>
    </xsd:complexType>

	<xsd:simpleType name="PktcPACMSupportStatus">
		<xsd:annotation>
			<xsd:documentation>
        This TEXTUAL CONVENTION is being defined
        to provide the status information pertaining 
        to services, features, subscriptions etc.
        
        The following are the - self explanatory -
        supported values:
          -- enabled(1) 
          -- disabled(2)
          -- unsupported(3)
          -- inapplicable(4)
      </xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:NMTOKEN">
			<xsd:enumeration value="enabled">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>1</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="disable">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>2</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="unsupported">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>3</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="inapplicable">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>4</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	 <xsd:complexType name="PktcPACMXData">
  <xsd:choice>

   <xsd:element name="pktcPACMXDataInline">
    <xsd:annotation>
     <xsd:documentation>
      This data element is used to indicate an inline document fragment.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
     <xsd:sequence>
      <xsd:any namespace="##any" processContents="lax" maxOccurs="unbounded"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>

   <xsd:element name="pktcPACMXDataExtDoc">
    <xsd:annotation>
     <xsd:documentation>
      This data element is used to reference an external document - such as,
      on another XCAP or HTTP server. 
      When used by an XDS, the attribute 'extDocumentURL' MUST be an absolute URL.
     </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="pktcPACMXDataExtDocDescr" type="xsd:string" minOccurs="0"/>
      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
     </xsd:sequence>
     <xsd:attribute name="pktcPACMXDataExtDocURL" type="xsd:anyURI"/>
     <xsd:anyAttribute namespace="##other" processContents="lax"/>
    </xsd:complexType>
   </xsd:element>

   <xsd:element name="pktcPACMXDataXCAPDoc">
    <xsd:annotation>
     <xsd:documentation>
     This data element is used to reference an XCAP document on the same XDS. 
     When used by an XDS, the attribute 'xcapDocumentRef' MUST be a relative 
     URL, relative to the XCAP ROOT.
     </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="pktcPACMXDataXCAPDocDescr" type="xsd:string" minOccurs="0"/>
      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
     </xsd:sequence>
    <xsd:attribute name="pktcPACMXDataXCAPDocRef" type="xsd:anyURI" use="required"/>
     <xsd:anyAttribute namespace="##other" processContents="lax"/>
   </xsd:complexType>
  </xsd:element>

  <xsd:element name="pktcPACMXDataAUIDPRef">
   <xsd:annotation>
    <xsd:documentation>
     A reference to another AUID profile, to which a ua-profile 
     subscription MUST be made. 
     Optional element 'documentURI' element indicates a 
     specific document which MUST be specified in the subscription. 
     If present, it is a relative URL, beginning with the same AUID, 
     suitable for use in the 'document' event header parameter of a 
     ua-profile subscription.
    </xsd:documentation>
   </xsd:annotation>
   <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="pktcPACMXDataAUIDPRefDocURI" type="xsd:anyURI" minOccurs="0"/>
      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="pktcPACMXDataAUIDPRefAUID" type="xsd:string" use="required"/>
    <xsd:anyAttribute namespace="##other" processContents="lax"/>
   </xsd:complexType>
   </xsd:element>
   <xsd:element name="extOBJpktcPACMXDataAUIDPRef" type="PktcPACMExtension"/>
   <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
  </xsd:choice>
 
  <xsd:attribute ref="PKTC-ACLS:access-control"/>
  <xsd:anyAttribute namespace="##any" processContents="lax"/>
 </xsd:complexType>

	<xsd:simpleType name="PktcPACMID">
		<xsd:annotation>
			<xsd:documentation>
        This TEXTUAL CONVENTION is being defined
        to contain identities that can be used
        within the PacketCable PACM data models.
        
        The types of possible identities is 
        specified by the TEXTUAL CONVENTION
        'PktcPACMIDType'.
        
        The following rules apply:
          - All identities, except macaddress refer
            to either UEs or Users.
            Mac addresses are UE specific
          - When used as a pair, the public and 
            private identities MUST be separated
            by a colon, with the private identity
            following the public identity.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="PktcPACMIDType">
		<xsd:annotation>
			<xsd:documentation>
        This TEXTUAL CONVENTION is being defined
        as a way of indicating an identity 
        specified by data elements utilizing the 
        TEXTUAL CONVENTION 'PktcPACMID'.
        
        The defined types include:
           - other(1)
               for types not described by the options
               provided below 
           - gruu(2)
               for Globally Routable Unique URIs
           - publicIdentity(3)
               for Public Identities as defined by 
               PacketCable 
           - privateIdentity(4)
               for Private Identities as defined by 
               PacketCable 
           - publicPrivatePair(5)
               for Public and Private Identity pairs
               as defined by PacketCable 
           - username(6)
               for username and password as defined by
               PacketCable 
           - macaddress(7)
               for mac addresses 
        
           Any use by of this textual convention
           by data elements controlled by the XDS, 
           the UE or any other network element 
           MUST use a type other than other(1), 
           if the value matches any of the other 
           formats defined.
           UE implementations must ensure that 
           InetAddressType objects and any dependent 
           objects (e.g., InetAddress objects) are
           consistent.  
        
           In general, the UE MUST generate an 
           'inconsistentValue' error if an attempt 
           to change an PktcPACMIDType object would, 
           for example, lead to an undefined PktcPACMID 
           value.  
           In particular, PktcPACMIDType/PktcPACMID pairs 
           MUST be changed together.  
      </xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:NMTOKEN">
			<xsd:enumeration value="other">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>1</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="gruu">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>2</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="publicIdentity">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>3</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="privateIdentity">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>4</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="publicPrivatePair">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>5</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="username">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>6</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="macaddress">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>7</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="packetcableIdentity">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>8</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
 <xsd:complexType name="PktcPACMCredentials">
  <xsd:annotation>
   <xsd:documentation>
     This data type allows for definition of data elements
     that can contain credentials. It allows for storage
     of Username/Password, Username/Pre-shared Key or
     Certificate based credentials.
     Each credential MUST be associated with, and facilitate 
     authentication of, one or more Public Identities.
     Data element definitions of this type SHOULD define 
     the reason and method for usage (e.g. Credentials to be
     used for authentication).
   </xsd:documentation>
  </xsd:annotation>
  <xsd:choice minOccurs="1" maxOccurs="unbounded">
  
  <!-- The following data element definition allows for configuring Client (e.g. UE, User) 
       credentials of the type Username and Password -->
   <xsd:element name="PktcPACMClCredsUP" minOccurs="0" maxOccurs="unbounded">
    <xsd:annotation>
     <xsd:documentation>
      This data type definition allows for associating one or more Public Identities (PUs)
      to be associated with Username(UPUsr) and Password(UPPwd) based credentials.
      If the data is encrypted, then PktcPACMClCredsUPEnc MUST be set to 'true'.
      Unless the decryption for the encrypted data will be known to the recepient,
      'PktcPACMClCredsUPEncHint' SHOULD also be filled with information that will
      allow for decryption. Exceptions include cases where the data needs to be 
      presented in an encrypted manner.
      If 'PktcPACMClCredsUPPwd' is a zero-length string, then the recepient SHOULD
      discard any previous password associated with the identifier 'PktcPACMClCredsUPUsr'.
     </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="PktcPACMClCredsUPPUs" type="xsd:anyURI" maxOccurs="unbounded"/>
      <xsd:element name="PktcPACMClCredsUPUsr" type="xsd:string" minOccurs="1"/>
      <xsd:element name="PktcPACMClCredsUPPwd" type="xsd:string" minOccurs="1"/>
      <xsd:element name="PktcPACMClCredsUPEncHint" type="xsd:hexBinary" minOccurs="0"/>
      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
     </xsd:sequence>
     <xsd:attribute name="PktcPACMCredentialsType" type="xsd:string" fixed="Client Username and Password" use="optional"/>
     <xsd:attribute name="PktcPACMClCredsUPEnc" type="xsd:boolean" use="optional" default="false"/>
     <xsd:anyAttribute namespace="##other" processContents="lax"/>
    </xsd:complexType>
   </xsd:element>

  <!-- The following data element definition allows for configuring Client (e.g. UE, User) 
       credentials of the type Username and Pre-shared Key-->
   <xsd:element name="PktcPACMClCredsPSK" minOccurs="0" maxOccurs="unbounded">
    <xsd:annotation>
     <xsd:documentation>
      This data type definition allows for associating one or more Public Identities (PU)
      to be associated with Username(PSKUsr) and Pre-shared Key (PSKPwd) based credentials.
      If the data is encrypted, then PktcPACMClCredsPSKEnc MUST be set to 'true'.
      Unless the decryption for the encrypted data will be known to the recepient,
      'PktcPACMClCredsPSKEncHint' SHOULD also be filled with information that will
      allow for decryption. Exceptions include cases where the data needs to be 
      presented in an encrypted manner.
      If 'PktcPACMClCredsPSKUsr' is a zero-length string, then the recepient SHOULD
      discard any previous Pre-shared Key associated with the identifier
      'PktcPACMClCredsPSKUsr'.
     </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="PktcPACMClCredsPSKPUs" type="xsd:anyURI" maxOccurs="unbounded"/>
      <xsd:element name="PktcPACMClCredsPSKUsr" type="xsd:string" minOccurs="1"/>
      <xsd:element name="PktcPACMClCredsPSKPwd" type="xsd:hexBinary" minOccurs="1"/>
      <xsd:element name="PktcPACMClCredsPSKEncHint" type="xsd:hexBinary" minOccurs="0"/>
      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
     </xsd:sequence>
     <xsd:attribute name="PktcPACMCredentialsType" type="xsd:string" fixed="Client Username and Pre-shared Key" use="optional"/>
     <xsd:attribute name="PktcPACMClCredsPSKEnc" type="xsd:boolean" use="optional" default="false"/>
     <xsd:anyAttribute namespace="##other" processContents="lax"/>
    </xsd:complexType>
   </xsd:element>

  <!-- The following data element definition allows for configuring Client (e.g. UE, User) 
       credentials of the type Certificate-->
   <xsd:element name="PktcPACMClCert" minOccurs="0" maxOccurs="unbounded">
    <xsd:annotation>
     <xsd:documentation>
      This data type definition allows for associating one or more Public Identities (CertPUs)
      to be associated with an Identity(CertID) and associated Certificate based credentials 
      (Cert, PrivateKey). 
      If the certificate data is encrypted, then PktcPACMClCredCertEnc MUST be set to 'true'.
      Further, unless the decryption for the encrypted data will be known to the recepient,
      'PktcPACMClCredCertEncHint' SHOULD be filled with information that will
      allow for decryption. Exceptions include cases where the certificate needs to be 
      presented in an encrypted manner.
      
      If the private key is encrypted, then PktcPACMClCredCePKEnc MUST be set to 'true'.
      Further, unless the decryption for the encrypted data will be known to the recepient,
      'PktcPACMClCredCertPKEncHint' SHOULD be filled with information that will
      allow for decryption. Exceptions include cases where the certificate needs to be 
      presented in an encrypted manner.
      
      If 'PktcPACMClCredCert' is a zero-length string, then the recepient SHOULD
      discard any previous certificate associated with the identifier 'PktcPACMClCredCertID'.
     </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="PktcPACMClCredCertPUs" type="xsd:anyURI" maxOccurs="unbounded"/>
      <xsd:element name="PktcPACMClCredCertID" type="xsd:hexBinary" minOccurs="1"/>
      <xsd:element name="PktcPACMClCredCert" type="xsd:hexBinary" minOccurs="1"/>
      <xsd:element name="PktcPACMClCredPrivateKey" type="xsd:hexBinary" minOccurs="1"/>
      <xsd:element name="PktcPACMClCredCertEncHint" type="xsd:hexBinary" minOccurs="0"/>
      <xsd:element name="PktcPACMClCredPKEncHint" type="xsd:hexBinary" minOccurs="0"/>
      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
     </xsd:sequence>

     <xsd:attribute name="PktcPACMCredentialsType" type="xsd:string" fixed="Client Certificate" use="optional"/>

     <xsd:attribute name="PktcPACMClCredCertEnc" type="xsd:boolean" use="optional" default="false"/>
     <xsd:attribute name="PktcPACMClCredCertPKEnc" type="xsd:boolean" use="optional" default="false"/>
     
     <xsd:anyAttribute namespace="##other" processContents="lax"/>
    </xsd:complexType>
   </xsd:element>
   
     <!-- The following data element definition allows for providing Service Provider 
          credentials, specifically Service Provider certificates-->
   <xsd:element name="PktcPACMSPCredCerts" minOccurs="0" maxOccurs="unbounded">
    <xsd:annotation>
     <xsd:documentation>
      This data type definition allows for associating one or more Service Provider
      domain names to be associated with a certificate (Cert). 
      If the data is encrypted, then PktcPACMSPCredCertsEnc MUST be set to 'true'.
      Unless the decryption for the encrypted data will be known to the recepient,
      'PktcPACMSPCredCertsEncHint' SHOULD be filled with information that will
      allow for decryption. Exceptions include cases where the data needs to be 
      presented in an encrypted manner.
      If 'PktcPACMSPCredCerts' is a zero-length string, then the recepient SHOULD
      discard any previous certificate associated with the identifier 'PktcPACMSPCredCertsID'.
     </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="PktcPACMSPCredCertDomains" type="xsd:anyURI" maxOccurs="unbounded"/>
      <xsd:element name="PktcPACMSPCredCerts" type="xsd:hexBinary" minOccurs="1"/>
      <xsd:element name="PktcPACMSPCredCertsEncHint" type="xsd:hexBinary" minOccurs="0"/>
      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
     </xsd:sequence>
     <xsd:attribute name="PktcPACMCredentialsType" type="xsd:string" fixed="Service Provider Certificate" use="optional"/>
     <xsd:attribute name="PktcPACMSPCredCertsEnc" type="xsd:boolean" use="optional" default="false"/>
     <xsd:anyAttribute namespace="##other" processContents="lax"/>
    </xsd:complexType>
   </xsd:element>

   <xsd:element name="extOBJPktcPACMCredentials" type="PktcPACMExtension"/>
   <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

  </xsd:choice>
 </xsd:complexType>

	<xsd:simpleType name="PktcPACMActStatus">
		<xsd:annotation>
			<xsd:documentation>
        This TEXTUAL CONVENTION is being defined to 
        indicate activation status as defined in 
        PacketCable.
        A value of active(2) indicates a status
        of 'active'.
        A value of inactive(3) indicates a status
        of 'inactive'.
        A value of suspended(4) indicates a status
        of 'suspended'.
        A value of other(1) indicates a status
        other than those defined above.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:NMTOKEN">
			<xsd:enumeration value="other">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>1</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="active">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>2</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="inactive">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>3</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="suspended">
				<xsd:annotation>
					<xsd:appinfo>
						<intVal>4</intVal>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
   <xsd:complexType name="PktcPACMSNMPVarBind" mixed="false">
     <xsd:annotation>
      <xsd:documentation>
       This data type contains a single ASN.1 BER encoded varbind in hex binary format.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
     <xsd:extension base="xsd:hexBinary"/>
    </xsd:simpleContent>
    </xsd:complexType>

<xsd:complexType name="PktcPACMSNMPDHKickStartParams">

 <xsd:annotation>
  <xsd:documentation>
   This data type allows for Diffie-Hellman(DH) Kickstart parameters definitions.
  </xsd:documentation>
 </xsd:annotation>

 <xsd:sequence>
  <xsd:element name="pktcPACMDHKickStartParams" minOccurs="0" maxOccurs="unbounded">
   <xsd:complexType>
    <xsd:sequence>

     <xsd:element name="pktcPACMDHKickStartSecurityName" type="xsd:string">
      <xsd:annotation>
       <xsd:documentation>
        This data element specifies the DH KickStart Security Name.
       </xsd:documentation>
      </xsd:annotation>
     </xsd:element>

     <xsd:element name="pktcPACMDHKickStartManagerPublicKey" type="xsd:hexBinary">
      <xsd:annotation>
       <xsd:documentation>
        This data element specifies the DH KickStart Manager Public Key.
       </xsd:documentation>
      </xsd:annotation>
     </xsd:element>

     <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

    </xsd:sequence>
    <xsd:anyAttribute namespace="##any" processContents="lax"/>
   </xsd:complexType>
  </xsd:element>

  <xsd:element name="extOBJPktcPACMDHKickStartParams" type="PktcPACMExtension"/>
  <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

 </xsd:sequence>
 <xsd:anyAttribute namespace="##any" processContents="lax"/>
</xsd:complexType>




<xsd:complexType name="PktcPACMSNMPNTFYReceivers">

 <xsd:annotation>
  <xsd:documentation>
   This data type allows for SNMP Notification receiver definitions.
  </xsd:documentation>
 </xsd:annotation>

 <xsd:sequence>
  <xsd:element name="pktcPACMSNMPNTFYReceiver" minOccurs="0" maxOccurs="unbounded">
   <xsd:complexType>
    <xsd:sequence>

     <xsd:element name="pktcPACMSNMPNTFYAddressType" type="INET-ADDRESS-MIB:InetAddressType">
      <xsd:annotation>
       <xsd:documentation>
        This data element specifies the SNMP Notification Receiver's address type
       </xsd:documentation>
      </xsd:annotation>
     </xsd:element>

     <xsd:element name="pktcPACMSNMPNTFYAddress" type="INET-ADDRESS-MIB:InetAddress">
      <xsd:annotation>
       <xsd:documentation>
        This data element specifies the SNMP Notification Receiver's address 
       </xsd:documentation>
      </xsd:annotation>
     </xsd:element>

     <xsd:element name="pktcPACMSNMPNTFYPort" default="162">
      <xsd:annotation>
       <xsd:documentation>
        This data element specifies the SNMP Notification Receiver's port 
       </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleType>
       <xsd:restriction base="xsd:int">
        <xsd:minInclusive value="1"/>
        <xsd:maxInclusive value="65535"/>
       </xsd:restriction>
      </xsd:simpleType>
     </xsd:element>

     <xsd:element name="pktcPACMSNMPNTFYType">
      <xsd:annotation>
       <xsd:documentation>
        This data element specifies the SNMP Notification Type
       </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleType>
       <xsd:restriction base="xsd:string">
        <xsd:enumeration value="SNMPv1Trap"/>
        <xsd:enumeration value="SNMPv2cTrap"/>
        <xsd:enumeration value="SNMPv2cInform"/>
        <xsd:enumeration value="SNMPv3Trap"/>
        <xsd:enumeration value="SNMPv3Inform"/>
       </xsd:restriction>
      </xsd:simpleType>
     </xsd:element>

     <xsd:element name="pktcPACMSNMPNTFYTimeout" type="xsd:int" minOccurs="0" default="15000">
      <xsd:annotation>
       <xsd:documentation>
        This data element specifies the wait time before a retry is attempted when the 
        sender of an SNMP INFORM fails to receive an acknowledgement.

        The number of retries is specified by 'pktcPACMSNMPNTFYRetries'.
       </xsd:documentation>
      </xsd:annotation>
     </xsd:element>

     <xsd:element name="pktcPACMSNMPNTFYRetries" type="xsd:int" default="0" minOccurs="0">
      <xsd:annotation>
       <xsd:documentation>
         This data element specifies the maximum number of times the MTA MUST retry 
         sending an SNMP INFORM message if an acknowledgement is not received.

         The wait time before sending a retry is specified by 'pktcPACMSNMPNTFYTimeout'.
       </xsd:documentation>
      </xsd:annotation>
     </xsd:element>
 
     <xsd:element name="pktcPACMSNMPNTFYFilterOID" type="xsd:string" default=".1" minOccurs="0" >
      <xsd:annotation>
       <xsd:documentation>
          This data element specifies the filtering scheme for notifications and contains 
          the root OID of the MIB sub-tree that defines the notifications to be sent to the 
          Notification Receiver. The recepient MUST filter notifications being sent to the 
          SNMP manager specified in this data type using using the information provided. 
       </xsd:documentation>
      </xsd:annotation>
     </xsd:element>
 
     <xsd:element name="pktcPACMSNMPNTFYSecurityName" type="xsd:string" default="@pktcconfig" minOccurs="0">
      <xsd:annotation>
       <xsd:documentation>
        This data element specifies the SNMPv3 Security Name to use when sending an SNMPv3 
        Notification. Since this data element is valid only if the notification type 
        (pktcPACMSNMPNTFYType) is 'SNMPv3Trap' or 'SNMPv3Inform', the receiver MUST ignore 
        this data element for all other value of the notification type and report a warning.
       </xsd:documentation>
      </xsd:annotation>
     </xsd:element>

     <xsd:element name="extOBJPktcPACMSNMPNTFYReceivers" type="PktcPACMExtension"/>
     <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
  
    </xsd:sequence>

    <xsd:anyAttribute namespace="##any" processContents="lax"/>

   </xsd:complexType>
  </xsd:element>
 </xsd:sequence>
</xsd:complexType>
</xsd:schema>
