Commit 61ab78d8 authored by rennoch's avatar rennoch
Browse files

sml schema for the cx interface user profile (annex E of TS129228, v10.8.0)

parent a1cd763b
Loading
Loading
Loading
Loading
+463 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:simpleType name="tPriority" final="list restriction">
		<xs:restriction base="xs:int">
			<xs:minInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tProfilePartIndicator" final="list restriction">
		<xs:restriction base="xs:unsignedByte">
			<xs:maxInclusive value="1"/>
			<xs:enumeration value="0">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">REGISTERED</label>
						<definition xml:lang="en">iFC is part of the registered profile</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="1">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">UNREGISTERED</label>
						<definition xml:lang="en">iFC is part of the unregistered profile</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tSharedIFCSetID" final="list restriction">
		<xs:restriction base="xs:int">
			<xs:minInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tGroupID" final="list restriction">
		<xs:restriction base="xs:int">
			<xs:minInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tRegistrationType" final="list restriction">
		<xs:restriction base="xs:unsignedByte">
			<xs:maxInclusive value="2"/>
			<xs:enumeration value="0">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">INITIAL_REGISTRATION</label>
						<definition xml:lang="en">Matches to REGISTER messages that are related to initial registration</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="1">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">RE-REGISTRATION</label>
						<definition xml:lang="en">Matches to REGISTER messages that are related to re-registration</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="2">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">DE-REGISTRATION</label>
						<definition xml:lang="en">Matches to REGISTER messages that are related to de-registration</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tDefaultHandling" final="list restriction">
		<xs:restriction base="xs:unsignedByte">
			<xs:maxInclusive value="1"/>
			<xs:enumeration value="0">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">SESSION_CONTINUED</label>
						<definition xml:lang="en">Session Continued</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="1">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">SESSION_TERMINATED</label>
						<definition xml:lang="en">Session Terminated</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tDirectionOfRequest" final="list restriction">
		<xs:restriction base="xs:unsignedByte">
			<xs:maxInclusive value="4"/>
			<xs:enumeration value="0">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">ORIGINATING_SESSION</label>
						<definition xml:lang="en">Originating Session</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="1">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">TERMINATING_REGISTERED</label>
						<definition xml:lang="en">Terminating Session for registered user</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="2">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">TERMINATING_UNREGISTERED</label>
						<definition xml:lang="en">Terminating Session for unregistered user</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="3">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">ORIGINATING_UNREGISTERED</label>
						<definition xml:lang="en">Originating Session for an unregistered user</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="4">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">ORIGINATING_CDIV</label>
						<definition xml:lang="en">Originating Session for call diversion</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tPrivateID" final="list restriction">
		<xs:restriction base="xs:anyURI"/>
	</xs:simpleType>
	<xs:simpleType name="tSIP_URL" final="list restriction">
		<xs:restriction base="xs:anyURI"/>
	</xs:simpleType>
	<xs:simpleType name="tTEL_URL" final="list restriction">
		<xs:restriction base="xs:anyURI"/>
	</xs:simpleType>
	<xs:simpleType name="tIdentity" final="list restriction">
		<xs:union memberTypes="tSIP_URL tTEL_URL"/>
	</xs:simpleType>
	<xs:simpleType name="tIdentityType" final="list restriction">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="4"/>
			<xs:enumeration value="0">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">DISTINCT_PUBLIC_USER_IDENTITY</label>
						<definition xml:lang="en">Identity is a distinct Public User Identity.</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="1">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">DISTINCT_PSI</label>
						<definition xml:lang="en">Identity is a distinct Public Service Identity.</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="2">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">WILDCARDED_PSI</label>
						<definition xml:lang="en">Identity is a Wildcarded Public Service Identity.</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="3">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">SPECIFIC_IMPU</label>
						<definition xml:lang="en">Identity is a specific IMPU that matches a Wildcarded Public User Identity.</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="4">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">WILDCARDED_IMPU</label>
						<definition xml:lang="en">Identity is a Wildcarded_IMPU.</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tServicePriorityLevel" final="list restriction">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="4"/>
			<xs:enumeration value="0">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en">PRIORITY-0</label>
						<definition xml:lang="en">Maximum priority level</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="1">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en"> PRIORITY-1</label>
						<definition xml:lang="en">Priority level 1</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="2">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en"> PRIORITY-2</label>
						<definition xml:lang="en"> Priority level 2</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="3">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en"> PRIORITY-3</label>
						<definition xml:lang="en"> Priority level 3</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="4">
				<xs:annotation>
					<xs:documentation>
						<label xml:lang="en"> PRIORITY-4</label>
						<definition xml:lang="en">Minimum priority level</definition>
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="tPublicIdentityExtension">
		<xs:sequence>
			<xs:element name="IdentityType" type="tIdentityType" minOccurs="0"/>
			<xs:element name="WildcardedPSI" type="xs:anyURI" minOccurs="0"/>
			<xs:element name="Extension" type="tPublicIdentityExtension2" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tPublicIdentityExtension2">
		<xs:sequence>
			<xs:element name="DisplayName" type="tDisplayName" minOccurs="0"/>
			<xs:element name="AliasIdentityGroupID" type="tAliasIdentityGroupID" minOccurs="0"/>
			<xs:element name="Extension" type="tPublicIdentityExtension3" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tPublicIdentityExtension3">
		<xs:sequence>
			<xs:element name="WildcardedIMPU" type="xs:anyURI" minOccurs="0"/>
			<xs:element name="ServiceLevelTraceInfo" type="tServiceLevelTraceInfo" minOccurs="0"/>
			<xs:element name="ServicePriorityLevel" type="tServicePriorityLevel" minOccurs="0"/>
			<xs:element name="Extension" type="tPublicIdentityExtension4" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tPublicIdentityExtension4">
		<xs:sequence>
			<xs:element name="ExtendedPriority" type= "tExtendedPriority" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="Extension" type="tExtension" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tExtendedPriority">
		<xs:sequence>
			<xs:element name="PriorityNamespace" type="tPriorityNamespace" />
			<xs:element name="PriorityLevel" type="tPriorityLevel" />
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="tPriorityNamespace" final="list restriction">
		<xs:restriction base="xs:string" />
	</xs:simpleType>
	<xs:simpleType name="tPriorityLevel" final="list restriction">
		<xs:restriction base="xs:string" />
	</xs:simpleType>
	<xs:simpleType name="tDisplayName" final="list restriction">
		<xs:restriction base="xs:string">
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tAliasIdentityGroupID" final="list restriction">
		<xs:restriction base="xs:string">
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tServiceInfo" final="list restriction">
		<xs:restriction base="xs:string">
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tString" final="list restriction">
		<xs:restriction base="xs:string">
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tBool">
		<xs:restriction base="xs:boolean"/>
	</xs:simpleType>
	<xs:simpleType name="tSubscribedMediaProfileId" final="list restriction">
		<xs:restriction base="xs:int">
			<xs:minInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tServiceLevelTraceInfo" final="list restriction">
		<xs:restriction base="xs:string">
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tIMSI" final="list restriction">
		<xs:restriction base="xs:string">
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="tExtension">
		<xs:sequence>
			<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tServiceProfileExtension">
		<xs:sequence>
			<xs:element name="SharedIFCSetID" type="tSharedIFCSetID" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Extension" type="tExtension" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tSePoTriExtension">
		<xs:sequence>
			<xs:element name="RegistrationType" type="tRegistrationType" minOccurs="0" maxOccurs="2"/>
			<xs:element name="Extension" type="tExtension" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tListOfServiceIds">
		<xs:sequence>
			<xs:element name="ServiceId" type="tString" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Extension" type="tExtension" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tCNServicesAuthorizationExtension">
		<xs:sequence>
			<xs:element name="ListOfServiceIds" type="tListOfServiceIds" minOccurs="0"/>
			<xs:element name="Extension" type="tExtension" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tIMSSubscriptionExtension">
		<xs:sequence>
			<xs:element name="IMSI" type="tIMSI" minOccurs="0"/>
			<xs:element name="Extension" type="tExtension" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tIMSSubscription">
		<xs:sequence>
			<xs:element name="PrivateID" type="tPrivateID"/>
			<xs:element name="ServiceProfile" type="tServiceProfile" maxOccurs="unbounded"/>
			<xs:element name="Extension" type="tIMSSubscriptionExtension" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tServiceProfile">
		<xs:sequence>
			<xs:element name="PublicIdentity" type="tPublicIdentity" maxOccurs="unbounded"/>
			<xs:element name="CoreNetworkServicesAuthorization" type="tCoreNetworkServicesAuthorization" minOccurs="0"/>
			<xs:element name="InitialFilterCriteria" type="tInitialFilterCriteria" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Extension" type="tServiceProfileExtension" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tCoreNetworkServicesAuthorization">
		<xs:sequence>
			<xs:element name="SubscribedMediaProfileId" type="tSubscribedMediaProfileId" minOccurs="0"/>
			<xs:element name="Extension" type="tCNServicesAuthorizationExtension" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tInitialFilterCriteria">
		<xs:sequence>
			<xs:element name="Priority" type="tPriority"/>
			<xs:element name="TriggerPoint" type="tTrigger" minOccurs="0"/>
			<xs:element name="ApplicationServer" type="tApplicationServer"/>
			<xs:element name="ProfilePartIndicator" type="tProfilePartIndicator" minOccurs="0"/>
			<xs:element name="Extension" type="tExtension" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tTrigger">
		<xs:sequence>
			<xs:element name="ConditionTypeCNF" type="tBool"/>
			<xs:element name="SPT" type="tSePoTri" maxOccurs="unbounded"/>
			<xs:element name="Extension" type="tExtension" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tSePoTri">
		<xs:sequence>
			<xs:element name="ConditionNegated" type="tBool" default="0" minOccurs="0"/>
			<xs:element name="Group" type="tGroupID" maxOccurs="unbounded"/>
			<xs:choice>
				<xs:element name="RequestURI" type="tString"/>
				<xs:element name="Method" type="tString"/>
				<xs:element name="SIPHeader" type="tHeader"/>
				<xs:element name="SessionCase" type="tDirectionOfRequest"/>
				<xs:element name="SessionDescription" type="tSessionDescription"/>
			</xs:choice>
			<xs:element name="Extension" type="tSePoTriExtension" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tHeader">
		<xs:sequence>
			<xs:element name="Header" type="tString"/>
			<xs:element name="Content" type="tString" minOccurs="0"/>
			<xs:element name="Extension" type="tExtension" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tSessionDescription">
		<xs:sequence>
			<xs:element name="Line" type="tString"/>
			<xs:element name="Content" type="tString" minOccurs="0"/>
			<xs:element name="Extension" type="tExtension" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tApplicationServer">
		<xs:sequence>
			<xs:element name="ServerName" type="tSIP_URL"/>
			<xs:element name="DefaultHandling" type="tDefaultHandling" minOccurs="0"/>
			<xs:element name="ServiceInfo" type="tServiceInfo" minOccurs="0"/>
			<xs:element name="Extension" type="tApplicationServerExtension" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tPublicIdentity">
		<xs:sequence>
			<xs:element name="BarringIndication" type="tBool" default="0" minOccurs="0"/>
			<xs:element name="Identity" type="tIdentity"/>
			<xs:element name="Extension" type="tPublicIdentityExtension" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tApplicationServerExtension">
		<xs:sequence>
			<xs:element name="IncludeRegisterRequest" type="tIncludeRegisterRequest" minOccurs="0" maxOccurs="1"/>
			<xs:element name="IncludeRegisterResponse" type="tIncludeRegisterResponse" minOccurs="0" maxOccurs="1"/>
			<xs:element name="Extension" type="tExtension" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tIncludeRegisterRequest">
		<xs:sequence>
			<xs:element name="Extension" type="tExtension" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="tIncludeRegisterResponse">
		<xs:sequence>
			<xs:element name="Extension" type="tExtension" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="IMSSubscription" type="tIMSSubscription"/>
</xs:schema>