RDMessage.xsd 104 KB
Newer Older
<?xml version="1.0"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns="http://uri.etsi.org/02657/v1.8.1#/RetainedData"
            targetNamespace="http://uri.etsi.org/02657/v1.8.1#/RetainedData"
			elementFormDefault="qualified">

	<xsd:annotation>
		<xsd:documentation xml:lang="en">
			XSD translated from ASN.1 derived from outcome of LI#25 (TS 102 657 v1.8.1) 
		</xsd:documentation>
	</xsd:annotation>

	<xsd:simpleType name="GeneralizedTime">
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="\d{4}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])([01][0-9]|2[0-3])([0-5][0-9])([0-5][0-9])(.[0-9][0-9]*)?(Z|[\+|\-][0-9]{4})"></xsd:pattern>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="ObjectIdentifier">
		<xsd:restriction base="xsd:token">
			<xsd:pattern value="[0-2](\.[1-3]?[0-9](\.\d+)*)?" />
		</xsd:restriction>
	</xsd:simpleType>
   
   <xsd:element name="retainedDataMessage" type="RetainedDataMessage"/>
   <xsd:complexType name="RetainedDataMessage">
      <xsd:sequence>
         <xsd:element name="rdHeaderId" type="ObjectIdentifier"/>
         <xsd:element name="retainedDataHeader" type="RetainedDataHeader"/>
         <xsd:element name="retainedDataPayload" type="RetainedDataPayload"/>
         <xsd:element name="retainedDataDigest" minOccurs="0" type="xsd:hexBinary"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:simpleType name="CSPID">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>

   <xsd:simpleType name="CountryCode">
	  <xsd:annotation>
		<xsd:documentation xml:lang="en">
			A country code as per ISO 3166-1 [xx]
		</xsd:documentation>
	  </xsd:annotation>
      <xsd:restriction base="xsd:string">
         <xsd:length value="2"/>
      </xsd:restriction>
   </xsd:simpleType>

   <xsd:simpleType name="AuthorisedOrganisationID">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>

   <xsd:simpleType name="RequestNumber">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>

   <xsd:simpleType name="DeliveryPointHIB">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>

   <xsd:simpleType name="RequestPriority">
      <xsd:restriction base="xsd:hexBinary"/>
   </xsd:simpleType>

   <xsd:complexType name="ResponseAcknowledgement">
      <xsd:choice>
         <xsd:element name="acknowledgeCompleteResults" minOccurs="0"/>
         <xsd:element name="acknowledgePartialResults" minOccurs="0"/>
         <xsd:any namespace="##other" processContents="lax"/>
      </xsd:choice>
   </xsd:complexType>

   <xsd:complexType name="CancelMessage" final="#all"/>

   <xsd:complexType name="CancelAcknowledgement" final="#all"/>

   <xsd:complexType name="GetResultsMessage" final="#all"/>

   <xsd:simpleType name="TelephonySubscriberId">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>

   <xsd:complexType name="TelephonySubscriberInfo" final="#all"/>

   <xsd:simpleType name="BillingIdentifier">
      <xsd:restriction base="xsd:hexBinary"/>
   </xsd:simpleType>

   <xsd:complexType name="TelephonyServiceType">
      <xsd:choice>
         <xsd:element name="private" type="NULL" minOccurs="0"/>
         <xsd:element name="privatePABX" type="NULL" minOccurs="0"/>
         <xsd:element name="publicPayphone" type="NULL" minOccurs="0"/>
      </xsd:choice>
   </xsd:complexType>

   <xsd:complexType name="TelephonyCommunicationType">
      <xsd:choice>
         <xsd:element name="telephonyFixedCS" type="NULL" minOccurs="0"/>
         <xsd:element name="telephonyWirelessCS" type="NULL" minOccurs="0"/>
         <xsd:element name="sMS" type="NULL" minOccurs="0"/>
         <xsd:element name="mMS" type="NULL" minOccurs="0"/>
      </xsd:choice>
   </xsd:complexType>

   <xsd:complexType name="TelephonyBearerService">
      <xsd:choice>
		 <xsd:element name="speech" type="NULL" minOccurs="0"/>
		 <xsd:element name="data" type="NULL" minOccurs="0"/>
		 <xsd:element name="fax" type="NULL" minOccurs="0"/>
      </xsd:choice>
   </xsd:complexType>

   <xsd:complexType name="TelephonyEventType">
      <xsd:choice>
         <xsd:element name="basicEventType" type="BasicEventType"/>
         <xsd:element name="callConferenceEventType" type="CallConferenceEventType"/>
         <xsd:element name="callForwardingEventType" type="CallForwardingEventType"/>
         <xsd:element name="messagingEventType" type="MessagingEventType"/>
         <xsd:element name="prepayServiceEventType" type="PrepayServiceEventType"/>
         <xsd:element name="nationalTelephonyEventType" type="NationalTelephonyEventType"/>
         <xsd:any namespace="##other" processContents="lax"/>
      </xsd:choice>
   </xsd:complexType>

   <xsd:complexType name="BasicEventType">
      <xsd:choice>
 		 <xsd:element name="handover" type="NULL" minOccurs="0"/> 
		 <xsd:element name="hold" type="NULL" minOccurs="0"/>
		 <xsd:element name="retrieve" type="NULL" minOccurs="0"/>
		 <xsd:element name="suspend" type="NULL" minOccurs="0"/>
		 <xsd:element name="resume" type="NULL" minOccurs="0"/>
		 <xsd:element name="ect" type="NULL" minOccurs="0"/>
		 <xsd:element name="mpty" type="NULL" minOccurs="0"/>
		 <xsd:element name="mptyHold" type="NULL" minOccurs="0"/>
		 <xsd:element name="mptyRetrieve" type="NULL" minOccurs="0"/>
		 <xsd:element name="mptySplit" type="NULL" minOccurs="0"/>
		 <xsd:element name="uus1" type="NULL" minOccurs="0"/>
		 <xsd:element name="uus2" type="NULL" minOccurs="0"/>
		 <xsd:element name="uus3" type="NULL" minOccurs="0"/>
		 <xsd:element name="serviceSpeech" type="NULL" minOccurs="0"/>
		 <xsd:element name="serviceFax" type="NULL" minOccurs="0"/>
		 <xsd:element name="tpyInvoke" type="NULL" minOccurs="0"/>
		 <xsd:element name="tpyPrivateComm" type="NULL" minOccurs="0"/>
		 <xsd:element name="serviceActivation" type="NULL" minOccurs="0"/>
		 <xsd:element name="transit" type="NULL" minOccurs="0"/>
		 <xsd:element name="mSOriginating" type="NULL" minOccurs="0"/>
		 <xsd:element name="callForwarding" type="NULL" minOccurs="0"/>
		 <xsd:element name="mSTerminating" type="NULL" minOccurs="0"/>
		 <xsd:element name="callAttempt" type="NULL" minOccurs="0"/>
		 <xsd:element name="callStart" type="NULL" minOccurs="0"/>
		 <xsd:element name="callEnd" type="NULL" minOccurs="0"/>
		 <xsd:element name="cliWithheld" type="NULL" minOccurs="0"/>
         <xsd:any namespace="##other" processContents="lax"/>
      </xsd:choice>
   </xsd:complexType>

   <xsd:complexType name="CallForwardingEventType">
      <xsd:choice>   
		 <xsd:element name="cfuActivation" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfuModification" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfuDe-activation" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfcNoReplyActivation" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfcNoReplyModification" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfcNoReplyDe-activation" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfcBusyActivation" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfcBusyModification" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfcBusyDe-activation" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfcOutOfRangeActivation" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfcOutOfRangeModification" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfcOutOfRangeDe-activation" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfcUnavailableActivation" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfcUnavailableModification" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfcUnavailableDe-activation" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfuFaxActivation" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfuFaxModification" type="NULL" minOccurs="0"/>
		 <xsd:element name="cfuFaxDe-activation" type="NULL" minOccurs="0"/>
         <xsd:any namespace="##other" processContents="lax"/>
      </xsd:choice>
   </xsd:complexType>

   <xsd:complexType name="CallConferenceEventType">
      <xsd:choice>   
   		 <xsd:element name="confBeginSeizure" type="NULL" minOccurs="0"/>
		 <xsd:element name="confAdd" type="NULL" minOccurs="0"/>
		 <xsd:element name="confSplit" type="NULL" minOccurs="0"/>
		 <xsd:element name="confIsolate" type="NULL" minOccurs="0"/>
		 <xsd:element name="confReattach" type="NULL" minOccurs="0"/>
		 <xsd:element name="confDrop" type="NULL" minOccurs="0"/>
		 <xsd:element name="confBeginActive" type="NULL" minOccurs="0"/>
         <xsd:any namespace="##other" processContents="lax"/>
      </xsd:choice>
   </xsd:complexType>

   <xsd:complexType name="MessagingEventType">
      <xsd:choice>
		 <xsd:element name="mSOriginatingSMSinMSC" type="NULL" minOccurs="0"/>
		 <xsd:element name="mSTerminatingSMSinMSC" type="NULL" minOccurs="0"/>
		 <xsd:element name="shortMessageDelivery" type="NULL" minOccurs="0"/>
		 <xsd:element name="mMMessage" type="NULL" minOccurs="0"/>
		 <xsd:element name="mMNotification" type="NULL" minOccurs="0"/>
		 <xsd:element name="mMDeliveryReport" type="NULL" minOccurs="0"/>
		 <xsd:element name="mMReadReply" type="NULL" minOccurs="0"/>
         <xsd:any namespace="##other" processContents="lax"/>
      </xsd:choice>
   </xsd:complexType>

   <xsd:complexType name="PrepayServiceEventType">
      <xsd:choice>
		 <xsd:element name="serviceActivation" type="NULL" minOccurs="0"/>
         <xsd:any namespace="##other" processContents="lax"/>
      </xsd:choice>
   </xsd:complexType>

   <xsd:complexType name="NationalTelephonyEventType">
      <xsd:sequence>
         <xsd:element name="countryCode">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:length value="2"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>   
   
   <xsd:complexType name="TelephonyPartyRole">
      <xsd:choice>
		 <xsd:element name="originating-Party" type="NULL" minOccurs="0"/>
		 <xsd:element name="terminating-Party" type="NULL" minOccurs="0"/>
		 <xsd:element name="forwarded-to-Party" type="NULL" minOccurs="0"/>
		 <xsd:element name="originalCalled" type="NULL" minOccurs="0"/>
		 <xsd:element name="redirecting" type="NULL" minOccurs="0"/>
		 <xsd:element name="connected" type="NULL" minOccurs="0"/>
		 <xsd:element name="userProvidedCalling" type="NULL" minOccurs="0"/>
		 <xsd:element name="roaming" type="NULL" minOccurs="0"/>
		 <xsd:element name="translated" type="NULL" minOccurs="0"/>
		 <xsd:element name="singlePersonalNumber" type="NULL" minOccurs="0"/>
		 <xsd:element name="smsOriginator" type="NULL" minOccurs="0"/>
		 <xsd:element name="smsRecipient" type="NULL" minOccurs="0"/>
		 <xsd:element name="smsOriginatorTrn" type="NULL" minOccurs="0"/>
		 <xsd:element name="smsRecipientTrn" type="NULL" minOccurs="0"/>
		 <xsd:element name="mmsOriginator" type="NULL" minOccurs="0"/>
		 <xsd:element name="mmsRecipient" type="NULL" minOccurs="0"/>
		 <xsd:element name="mmsOriginatorTrn" type="NULL" minOccurs="0"/>
		 <xsd:element name="mmsRecipientTrn" type="NULL" minOccurs="0"/>
         <xsd:any namespace="##other" processContents="lax"/>
      </xsd:choice>
   </xsd:complexType>

   <xsd:simpleType name="TelephonyDeviceID">
      <xsd:restriction base="xsd:hexBinary"/>
   </xsd:simpleType>

   <xsd:simpleType name="TelephonyNetworkID">
      <xsd:restriction base="xsd:hexBinary"/>
   </xsd:simpleType>

   <xsd:complexType name="MapDatum">
      <xsd:choice>
		 <xsd:element name="wGS84" type="NULL" minOccurs="0"/>
		 <xsd:element name="wGS72" type="NULL" minOccurs="0"/>
		 <xsd:element name="eD50" type="NULL" minOccurs="0"/>
		 <xsd:element name="rD" type="NULL" minOccurs="0"/>
		 <xsd:element name="potsdamDatum" type="NULL" minOccurs="0"/>
		 <xsd:element name="datumAustria" type="NULL" minOccurs="0"/>
		 <xsd:element name="eTRS89" type="NULL" minOccurs="0"/>
		 <xsd:element name="nAD27" type="NULL" minOccurs="0"/>
		 <xsd:element name="oSGB36" type="NULL" minOccurs="0"/>
		 <xsd:element name="oSNI52" type="NULL" minOccurs="0"/>
		 <xsd:element name="tM65" type="NULL" minOccurs="0"/>
		 <xsd:element name="iTM" type="NULL" minOccurs="0"/>
		 <xsd:element name="cH1903" type="NULL" minOccurs="0"/>
         <xsd:any namespace="##other" processContents="lax"/>
      </xsd:choice>
   </xsd:complexType>

   <xsd:simpleType name="PartyNumber">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>

   <xsd:simpleType name="MsgSubscriberID">
      <xsd:restriction base="xsd:hexBinary"/>
   </xsd:simpleType>

   <xsd:simpleType name="MsgStoreID">
      <xsd:restriction base="xsd:hexBinary"/>
   </xsd:simpleType>

   <xsd:simpleType name="MsgAddress">
      <xsd:restriction base="xsd:string"/>
   <xsd:simpleType name="MsgProviderID">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>

   <xsd:simpleType name="NAProviderID">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>

   <xsd:simpleType name="NAAuthID">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>

   <xsd:simpleType name="NaSubscriberID">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>

   <xsd:complexType name="NwAccessType">
      <xsd:choice>
		 <xsd:element name="undefined" type="NULL" minOccurs="0"/>
		 <xsd:element name="dialUp" type="NULL" minOccurs="0"/>
		 <xsd:element name="xDSL" type="NULL" minOccurs="0"/>
		 <xsd:element name="cableModem" type="NULL" minOccurs="0"/>
		 <xsd:element name="lAN" type="NULL" minOccurs="0"/>
		 <xsd:element name="wirelessLAN" type="NULL" minOccurs="0"/>
		 <xsd:element name="wimax" type="NULL" minOccurs="0"/>
		 <xsd:element name="mobilePacketData" type="NULL" minOccurs="0"/>
         <xsd:any namespace="##other" processContents="lax"/>
      </xsd:choice>
   </xsd:complexType>

   <xsd:complexType name="NationalRequestParameters">
      <xsd:sequence>
         <xsd:element name="countryCode">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:length value="2"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="NationalResponsePayload">
      <xsd:sequence>
         <xsd:element name="countryCode">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:length value="2"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="NationalRecordPayload">
      <xsd:sequence>
         <xsd:element name="countryCode">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:length value="2"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="IPAddress">
      <xsd:choice>
         <xsd:element name="iPv4BinaryAddress">
            <xsd:simpleType>
               <xsd:restriction base="xsd:hexBinary">
                  <xsd:length value="4"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:element name="iPv6BinaryAddress">
            <xsd:simpleType>
               <xsd:restriction base="xsd:hexBinary">
                  <xsd:length value="16"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:element name="iPTextAddress">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:minLength value="7"/>
                  <xsd:maxLength value="45"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax"/>
      </xsd:choice>
   </xsd:complexType>

   <xsd:complexType name="IPRange">
      <xsd:sequence>
         <xsd:element name="prefix" type="IPAddress"/>
         <xsd:element name="subnetlength">
            <xsd:simpleType>
               <xsd:restriction base="xsd:unsignedShort">
                  <xsd:minInclusive value="1"/>
                  <xsd:maxInclusive value="128"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="IPMask">
      <xsd:sequence>
         <xsd:element name="base" type="IPAddress"/>
         <xsd:element name="mask" type="IPAddress"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="IPAddressSetOrRangeOrMask">
      <xsd:choice>
         <xsd:element name="set">
            <xsd:complexType>
               <xsd:sequence minOccurs="0" maxOccurs="unbounded">
                  <xsd:element name="IPAddress" type="IPAddress"/>
               </xsd:sequence>
            </xsd:complexType>
         </xsd:element>
         <xsd:element name="range" type="IPRange"/>
         <xsd:element name="mask" type="IPMask"/>
      </xsd:choice>
   </xsd:complexType>

   <xsd:simpleType name="TelephoneNumber">
      <xsd:restriction base="PartyNumber"/>
   </xsd:simpleType>

   <xsd:simpleType name="NADeviceId">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>

   <xsd:simpleType name="IMEI">
      <xsd:restriction base="xsd:hexBinary">
         <xsd:length value="8"/>
      </xsd:restriction>
   </xsd:simpleType>

   <xsd:simpleType name="IMSI">
      <xsd:restriction base="xsd:hexBinary">
         <xsd:minLength value="3"/>
         <xsd:maxLength value="8"/>
      </xsd:restriction>
   </xsd:simpleType>

   <xsd:simpleType name="NANwElementID">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>

   <xsd:complexType name="RequestID">
      <xsd:sequence>
         <xsd:element name="countryCode" type="CountryCode"/>
         <xsd:element name="authorisedOrganisationID" type="AuthorisedOrganisationID"/>
         <xsd:element name="requestNumber" minOccurs="0" type="RequestNumber"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="RetainedDataHeader">
      <xsd:sequence>
         <xsd:element name="requestID" type="RequestID"/>
         <xsd:element name="cSPID" type="CSPID"/>
         <xsd:element name="timeStamp" type="GeneralizedTime"/>
         <xsd:element name="thirdPartyCSPID" minOccurs="0" type="CSPID"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="TimeSpan">
      <xsd:sequence>
         <xsd:element name="startTime" minOccurs="0" type="GeneralizedTime"/>
         <xsd:element name="endTime" minOccurs="0" type="GeneralizedTime"/>
         <xsd:element name="durationTime" minOccurs="0" type="xsd:integer"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="AddressInformation">
      <xsd:sequence>
         <xsd:element name="flatNumber" minOccurs="0" type="xsd:string"/>
         <xsd:element name="buildingName" minOccurs="0" type="xsd:string"/>
         <xsd:element name="buildingNumber" minOccurs="0" type="xsd:string"/>
         <xsd:element name="streetName" minOccurs="0" type="xsd:string"/>
         <xsd:element name="poBox" minOccurs="0" type="xsd:string"/>
         <xsd:element name="postalCode" minOccurs="0" type="xsd:string"/>
         <xsd:element name="region" minOccurs="0" type="xsd:string"/>
         <xsd:element name="province" minOccurs="0" type="xsd:string"/>
         <xsd:element name="language" minOccurs="0" type="xsd:string"/>
         <xsd:element name="city" minOccurs="0" type="xsd:string"/>
         <xsd:element name="country" minOccurs="0" type="CountryCode"/>
         <xsd:element name="validity" minOccurs="0" type="TimeSpan"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="ContactDetails">
      <xsd:sequence>
         <xsd:element name="address" minOccurs="0" type="AddressInformation"/>
         <xsd:element name="emailAddress" minOccurs="0" type="xsd:string"/>
         <xsd:element name="contactNumber" minOccurs="0">
            <xsd:complexType>
               <xsd:sequence minOccurs="0" maxOccurs="unbounded">
                  <xsd:element name="PartyNumber" type="PartyNumber"/>
               </xsd:sequence>
            </xsd:complexType>
         </xsd:element>
         <xsd:element name="additionalEmailAddresses" minOccurs="0">
            <xsd:complexType>
               <xsd:sequence minOccurs="0" maxOccurs="unbounded">
                  <xsd:element name="AdditionalEmailAddresses" type="xsd:string"/>
               </xsd:sequence>
            </xsd:complexType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="OrganizationInfo">
      <xsd:sequence>
         <xsd:element name="name" minOccurs="0" type="xsd:string"/>
         <xsd:element name="contactDetails" minOccurs="0" type="ContactDetails"/>
         <xsd:element name="nationalRegistrationID" minOccurs="0" type="xsd:string"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="PersonName">
      <xsd:sequence>
         <xsd:element name="salutation" minOccurs="0" type="xsd:string"/>
         <xsd:element name="surname" minOccurs="0" type="xsd:string"/>
         <xsd:element name="surnamePrefix" minOccurs="0" type="xsd:string"/>
         <xsd:element name="surnameSuffix" minOccurs="0" type="xsd:string"/>
         <xsd:element name="middleNames" minOccurs="0" type="xsd:string"/>
         <xsd:element name="firstname" minOccurs="0" type="xsd:string"/>
         <xsd:element name="secondsurname" minOccurs="0" type="xsd:string"/>
         <xsd:element name="secondsurnamePrefix" minOccurs="0" type="xsd:string"/>
         <xsd:element name="secondsurnameSuffix" minOccurs="0" type="xsd:string"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="AuthenticationInfo">
      <xsd:sequence>
         <xsd:element name="authenticationType" minOccurs="0" type="xsd:string"/>
         <xsd:element name="authenticationNumber" minOccurs="0" type="xsd:string"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="IndividualInfo">
      <xsd:sequence>
         <xsd:element name="name" minOccurs="0" type="PersonName"/>
         <xsd:element name="contactAddress" minOccurs="0" type="ContactDetails"/>
         <xsd:element name="dateOfBirth" minOccurs="0" type="GeneralizedTime"/>
         <xsd:element name="gender" minOccurs="0">
            <xsd:complexType>
               <xsd:choice>
                     <xsd:element name="male" type="NULL" minOccurs="0"/>
                     <xsd:element name="female" type="NULL" minOccurs="0"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element name="identificationNumber" minOccurs="0" type="xsd:string"/>
         <xsd:element name="authenticationInfo" minOccurs="0" type="AuthenticationInfo"/>
		 <xsd:element name="profession" minOccurs="0" type="xsd:string"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="GenericSubscriberInfo">
      <xsd:sequence>
         <xsd:element name="organizationInfo" minOccurs="0" type="OrganizationInfo"/>
         <xsd:element name="individualInfo" minOccurs="0" type="IndividualInfo"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="SubscribedTelephonyServices">
      <xsd:sequence>
         <xsd:element name="serviceID" minOccurs="0" type="xsd:string"/>
         <xsd:element name="providerID" minOccurs="0" type="xsd:string"/>
         <xsd:element name="timeSpan" minOccurs="0" type="TimeSpan"/>
         <xsd:element name="registeredNumbers" minOccurs="0">
            <xsd:complexType>
               <xsd:sequence minOccurs="0" maxOccurs="unbounded">
                  <xsd:element name="PartyNumber" type="PartyNumber"/>
               </xsd:sequence>
            </xsd:complexType>
         </xsd:element>
         <xsd:element name="registeredICCID" minOccurs="0" type="xsd:string"/>
         <xsd:element name="serviceType" minOccurs="0" type="TelephonyServiceType"/>
         <xsd:element name="installationAddress" minOccurs="0" type="AddressInformation"/>
         <xsd:element name="connectionDate" minOccurs="0" type="GeneralizedTime"/>
		 <xsd:element name="iMSI" minOccurs="0" type="IMSI"/>
		 <xsd:element name="carrierPreselect" minOccurs="0" type="xsd:boolean"/>
		 <xsd:element name="lineStatus" minOccurs="0" type="xsd:string"/>
		 <xsd:element name="allocatedDeviceIDs" minOccurs="0">
            <xsd:complexType>
               <xsd:sequence minOccurs="0" maxOccurs="unbounded">
                  <xsd:element name="TelephonyDeviceID" type="TelephonyDeviceID"/>
               </xsd:sequence>
            </xsd:complexType>
         </xsd:element>
		 <xsd:element name="pUKCode" minOccurs="0" type="xsd:string"/>
		 <xsd:element name="pUK2Code" minOccurs="0" type="xsd:string"/>
		 <xsd:element name="iMEI" minOccurs="0" type="IMEI"/>
		 <xsd:element name="nationalTelephonySubscriptionInfo" minOccurs="0" type="NationalTelephonySubscriptionInfo"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="NationalTelephonySubscriptionInfo">
      <xsd:sequence>
         <xsd:element name="countryCode">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:length value="2"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>   
   
   <xsd:complexType name="TelephonySubscriber">
      <xsd:sequence>
         <xsd:element name="subscriberID" minOccurs="0" type="TelephonySubscriberId"/>
         <xsd:element name="genericSubscriberInfo" minOccurs="0" type="GenericSubscriberInfo"/>
         <xsd:element name="telephonySubscriberInfo" minOccurs="0" type="TelephonySubscriberInfo"/>
         <xsd:element name="subscribedTelephonyServices" minOccurs="0">
            <xsd:complexType>
               <xsd:sequence minOccurs="0" maxOccurs="unbounded">
                  <xsd:element name="SubscribedTelephonyServices" type="SubscribedTelephonyServices"/>
               </xsd:sequence>
            </xsd:complexType>
         </xsd:element>
         <xsd:element name="nationalTelephonySubscriberInfo" minOccurs="0" type="NationalTelephonySubscriberInfo"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>
   
   <xsd:complexType name="NationalTelephonySubscriberInfo">
      <xsd:sequence>
         <xsd:element name="countryCode">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:length value="2"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>   

   <xsd:complexType name="BillingRecords">
      <xsd:sequence>
         <xsd:element name="time" minOccurs="0" type="GeneralizedTime"/>
         <xsd:element name="place" minOccurs="0" type="xsd:string"/>
         <xsd:element name="amount" minOccurs="0" type="xsd:double"/>
         <xsd:element name="currency" minOccurs="0">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:length value="3"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:element name="method" minOccurs="0" type="xsd:string"/>
         <xsd:element name="nationalTelephonyBillingRecords" minOccurs="0" type="NationalTelephonyBillingRecords"/>
		 <xsd:element name="transactionID" minOccurs="0" type="xsd:string"/>
		 <xsd:element name="transactionStatus" minOccurs="0" type="xsd:string"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>
   
   <xsd:complexType name="NationalTelephonyBillingRecords">
      <xsd:sequence>
         <xsd:element name="countryCode">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:length value="2"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>   

   <xsd:complexType name="TelephonyBillingDetails">
      <xsd:sequence>
         <xsd:element name="subscriberID" minOccurs="0" type="TelephonySubscriberId"/>
         <xsd:element name="serviceID" minOccurs="0" type="xsd:string"/>
         <xsd:element name="billingAddress" minOccurs="0" type="ContactDetails"/>
         <xsd:element name="billingIdentifier" minOccurs="0" type="BillingIdentifier"/>
         <xsd:element name="billingRecords" minOccurs="0">
            <xsd:complexType>
               <xsd:sequence minOccurs="0" maxOccurs="unbounded">
                  <xsd:element name="BillingRecords" type="BillingRecords"/>
               </xsd:sequence>
            </xsd:complexType>
         </xsd:element>
	     <xsd:element name="nationalTelephonyBillingDetails" minOccurs="0" type="NationalTelephonyBillingDetails"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>
   
      <xsd:complexType name="NationalTelephonyBillingDetails">
      <xsd:sequence>
         <xsd:element name="countryCode">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:length value="2"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="TelephonyLocation">
      <xsd:sequence>
         <xsd:element name="telephonyNetworkID" minOccurs="0" type="TelephonyNetworkID"/>
         <xsd:element name="timeSpan" minOccurs="0" type="TimeSpan"/>
         <xsd:element name="nationalTelephonyLocation" minOccurs="0" type="NationalTelephonyLocation"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>
   
   <xsd:complexType name="NationalTelephonyLocation">
      <xsd:sequence>
         <xsd:element name="countryCode">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:length value="2"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>   

   <xsd:complexType name="TelephonyPartyInformation">
      <xsd:sequence>
         <xsd:element name="partyRole" minOccurs="0" type="TelephonyPartyRole"/>
         <xsd:element name="partyNumber" minOccurs="0" type="PartyNumber"/>
         <xsd:element name="subscriberID" minOccurs="0" type="TelephonySubscriberId"/>
         <xsd:element name="deviceID" minOccurs="0" type="TelephonyDeviceID"/>
         <xsd:element name="locations" minOccurs="0">
            <xsd:complexType>
               <xsd:sequence minOccurs="0" maxOccurs="unbounded">
                  <xsd:element name="TelephonyLocation" type="TelephonyLocation"/>
               </xsd:sequence>
            </xsd:complexType>
         </xsd:element>
         <xsd:element name="communicationTime" minOccurs="0" type="TimeSpan"/>
         <xsd:element name="iCCID" minOccurs="0" type="xsd:string"/>
		 <xsd:element name="iMSI" minOccurs="0" type="IMSI"/>
		 <xsd:element name="natureOfAddress" minOccurs="0" type="xsd:string"/>
		 <xsd:element name="forwardedTransferredNumber" minOccurs="0" type="PartyNumber"/>
		 <xsd:element name="terminatingTransferredNumber" minOccurs="0" type="PartyNumber"/>
		 <xsd:element name="emailAddress" minOccurs="0" type="xsd:string"/>
		 <xsd:element name="iMEI" minOccurs="0" type="IMEI"/>
		 <xsd:element name="detailedLocation" minOccurs="0" type="TelephonyNetworkElement"/>
		 <xsd:element name="nationalTelephonyPartyInformation" minOccurs="0" type="NationalTelephonyPartyInformation"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="NationalTelephonyPartyInformation">
      <xsd:sequence>
         <xsd:element name="countryCode">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:length value="2"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>
   
   <xsd:complexType name="TelephonyEventInformation">
      <xsd:sequence>
         <xsd:element name="time" minOccurs="0" type="GeneralizedTime"/>
         <xsd:element name="type" minOccurs="0" type="TelephonyEventType"/>
         <xsd:element name="party" minOccurs="0" type="TelephonyPartyRole"/>
         <xsd:element name="location" minOccurs="0" type="TelephonyLocation"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="SmsInformation">
      <xsd:sequence>
         <xsd:element name="smsEvent" minOccurs="0">
            <xsd:complexType>
               <xsd:choice>
				  <xsd:element name="shortMessage" type="NULL" minOccurs="0"/>
				  <xsd:element name="shortPartMessage" type="NULL" minOccurs="0"/>
				  <xsd:element name="compositeMessage" type="NULL" minOccurs="0"/>
				  <xsd:element name="notificationMessage" type="NULL" minOccurs="0"/>
				  <xsd:any namespace="##other" processContents="lax"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element name="smsType" minOccurs="0">
            <xsd:complexType>
               <xsd:choice>
				  <xsd:element name="deliverSCtoMS" type="NULL" minOccurs="0"/>
				  <xsd:element name="deliverReportMStoSC" type="NULL" minOccurs="0"/>
				  <xsd:element name="statusReportSCtoMS" type="NULL" minOccurs="0"/>
				  <xsd:element name="commandMStoSC" type="NULL" minOccurs="0"/>
				  <xsd:element name="submitMStoSC" type="NULL" minOccurs="0"/>
				  <xsd:element name="submitReportSCtoMS" type="NULL" minOccurs="0"/>
				  <xsd:element name="reservedMTIValue" type="NULL" minOccurs="0"/>
				  <xsd:any namespace="##other" processContents="lax"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element name="smsStatus" minOccurs="0">
            <xsd:complexType>
               <xsd:choice>
				  <xsd:element name="delivered" type="NULL" minOccurs="0"/>
				  <xsd:element name="expired" type="NULL" minOccurs="0"/>
				  <xsd:element name="deleted" type="NULL" minOccurs="0"/>
				  <xsd:element name="replaced" type="NULL" minOccurs="0"/>
				  <xsd:element name="submitted" type="NULL" minOccurs="0"/>
				  <xsd:element name="incomplete-submission" type="NULL" minOccurs="0"/>
				  <xsd:element name="incomplete-delivery" type="NULL" minOccurs="0"/>
				  <xsd:element name="undeliverable" type="NULL" minOccurs="0"/>
				  <xsd:element name="passed-on" type="NULL" minOccurs="0"/>
				  <xsd:any namespace="##other" processContents="lax"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element name="smsCmRefNr" minOccurs="0">
            <xsd:simpleType>
               <xsd:restriction base="xsd:hexBinary">
                  <xsd:minLength value="1"/>
                  <xsd:maxLength value="2"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:element name="smsNumOfSM" minOccurs="0">
            <xsd:simpleType>
               <xsd:restriction base="xsd:unsignedShort"/>
            </xsd:simpleType>
         </xsd:element>
         <xsd:element name="smsNotifyInd" minOccurs="0" type="xsd:boolean"/>
         <xsd:element name="smsProtocolId" minOccurs="0">
            <xsd:simpleType>
               <xsd:restriction base="xsd:hexBinary">
                  <xsd:length value="1"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="MmsInformation">
      <xsd:sequence>
         <xsd:element name="mmsEvent" minOccurs="0">
            <xsd:complexType>
               <xsd:choice>
				  <xsd:element name="message" type="NULL" minOccurs="0"/>
				  <xsd:element name="notificationMessage" type="NULL" minOccurs="0"/>
				  <xsd:element name="deliveryReportMessage" type="NULL" minOccurs="0"/>
				  <xsd:element name="readReplyMessage" type="NULL" minOccurs="0"/>
				  <xsd:any namespace="##other" processContents="lax"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element name="mmsStatus" minOccurs="0">
            <xsd:complexType>
               <xsd:choice>
				  <xsd:element name="delivered" type="NULL" minOccurs="0"/>
				  <xsd:element name="expired" type="NULL" minOccurs="0"/>
				  <xsd:element name="deleted" type="NULL" minOccurs="0"/>
				  <xsd:element name="replaced" type="NULL" minOccurs="0"/>
				  <xsd:element name="submitted" type="NULL" minOccurs="0"/>
				  <xsd:element name="undeliverable" type="NULL" minOccurs="0"/>
				  <xsd:element name="passed-on" type="NULL" minOccurs="0"/>
				  <xsd:element name="delivery-rejection" type="NULL" minOccurs="0"/>
				  <xsd:element name="delivery-forward" type="NULL" minOccurs="0"/>
				  <xsd:element name="delivery-copy" type="NULL" minOccurs="0"/>
				  <xsd:element name="submission-rejection" type="NULL" minOccurs="0"/>
				  <xsd:element name="submission-failure" type="NULL" minOccurs="0"/>
				  <xsd:element name="delivered-application" type="NULL" minOccurs="0"/>
				  <xsd:any namespace="##other" processContents="lax"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element name="mmsNotifInd" minOccurs="0" type="xsd:boolean"/>
         <xsd:element name="mmsMsgMod" minOccurs="0">
            <xsd:complexType>
               <xsd:choice>
				  <xsd:element name="none" type="NULL" minOccurs="0"/>
				  <xsd:element name="modified" type="NULL" minOccurs="0"/>
				  <xsd:element name="stripped" type="NULL" minOccurs="0"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>
   
   <xsd:complexType name="TelephonyServiceUsage">
      <xsd:sequence>
         <xsd:element name="partyInformation" minOccurs="0">
            <xsd:complexType>
               <xsd:sequence minOccurs="0" maxOccurs="unbounded">
                  <xsd:element name="TelephonyPartyInformation" type="TelephonyPartyInformation"/>
               </xsd:sequence>
            </xsd:complexType>
         </xsd:element>
         <xsd:element name="communicationTime" minOccurs="0" type="TimeSpan"/>
         <xsd:element name="eventInformation" minOccurs="0">
            <xsd:complexType>
               <xsd:sequence minOccurs="0" maxOccurs="unbounded">
                  <xsd:element name="TelephonyEventInformation" type="TelephonyEventInformation"/>
               </xsd:sequence>
            </xsd:complexType>
         </xsd:element>
         <xsd:element name="endReason" minOccurs="0" type="xsd:integer"/>
         <xsd:element name="communicationType" minOccurs="0" type="TelephonyCommunicationType"/>
         <xsd:element name="bearerService" minOccurs="0" type="TelephonyBearerService"/>
         <xsd:element name="smsInformation" minOccurs="0" type="SmsInformation"/>
		 <xsd:element name="ringDuration" minOccurs="0" type="xsd:integer"/>
		 <xsd:element name="mmsInformation" minOccurs="0" type="MmsInformation"/>
		 <xsd:element name="nationalTelephonyServiceUsage" minOccurs="0" type="NationalTelephonyServiceUsage"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>
   
   <xsd:complexType name="NationalTelephonyServiceUsage">
      <xsd:sequence>
         <xsd:element name="countryCode">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:length value="2"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>   

   <xsd:complexType name="TelephonyDevice">
      <xsd:sequence>
         <xsd:element name="deviceIDType" minOccurs="0">
            <xsd:complexType>
               <xsd:choice>
                  <xsd:element name="unknown" type="NULL" minOccurs="0"/>
				  <xsd:element name="imei" type="NULL" minOccurs="0"/>
				  <xsd:element name="macAddress" type="NULL" minOccurs="0"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element name="telephonyDeviceID" minOccurs="0" type="TelephonyDeviceID"/>
		 <xsd:element name="subscriberID" minOccurs="0" type="TelephonySubscriberId"/>
		 <xsd:element name="nationalTelephonyDevice" minOccurs="0" type="NationalTelephonyDevice"/>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="NationalTelephonyDevice">
      <xsd:sequence>
         <xsd:element name="countryCode">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:length value="2"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>
      
   <xsd:complexType name="GSMLocation">
      <xsd:choice>
         <xsd:element name="geoCoordinates">
            <xsd:complexType>
               <xsd:sequence>
                  <xsd:element name="latitude" minOccurs="0">
                     <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                           <xsd:minLength value="7"/>
                           <xsd:maxLength value="10"/>
                        </xsd:restriction>
                     </xsd:simpleType>
                  </xsd:element>
                  <xsd:element name="longitude" minOccurs="0">
                     <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                           <xsd:minLength value="8"/>
                           <xsd:maxLength value="11"/>