<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

<xsd:include schemaLocation="common_trans_obj.xsd"/>


	<xsd:element name="TRANS_COMMON_PARAMS" type="TransCommonParamsContent"/>
	<xsd:element name="MCU_IP" type="McuContent"/>
	<xsd:element name="TRANS_TOKEN" type="xsd:integer"/>
	<xsd:element name="RETURN_STATUS"  type="StatusContent"/>
	<xsd:element name="ASYNC"  type="AsyncContent"/>
	<xsd:element name="SYNC" />
	<xsd:element name="PORT_NUMBER"  type="xsd:integer" default="80"/>
	<xsd:element name="URL" type="xsd:string" default=""/>
	<xsd:element name="ASYNC_METHOD" type="AsyncMethodType" default="async_no_callback"/>
	<xsd:element name="LISTEN_PORT"  type="xsd:integer"/>
	<xsd:element name="MAIN"  type="xsd:integer"/>
	<xsd:element name="MAJOR"  type="xsd:integer"/>
	<xsd:element name="MINOR"  type="xsd:integer"/>
	<xsd:element name="INTERNAL"  type="xsd:integer"/>
	<xsd:element name="PRIVATE_DESCRIPTION"  type="xsd:string"/>
	<xsd:element name="MCU_VERSION"  type="VersionContent"/>
	<xsd:element name="MCMS_VERSION" type="VersionContent"/>
	<xsd:element name="XAP_VERSION"  type="VersionContent"/>
	<xsd:element name="VERSION_LIST"  type="VersionListContent"/>
	<xsd:element name="MCU_STATE"  type="MCUStateContent"/>
	<xsd:element name="MCU_TOKEN" type="xsd:integer"/>
	<xsd:element name="MCU_USER_TOKEN" type="xsd:integer"/>
	<xsd:element name="NUM_MEETING_ROOMS" type="xsd:integer"/>
  <xsd:element name="NUM_CONFERENCE_TEMPLATES" type="xsd:integer"/>
	<xsd:element name="NUM_RESERVATIONS" type="xsd:integer"/>
	<xsd:element name="NUM_CONFERENCES" type="xsd:integer"/>
	<xsd:element name="STATION_NAME" type="xsd:string"/>
	<xsd:element name="AUTHORIZATION_GROUP" type="AuthorizationGroupType"/>
	<xsd:element name="API_NUMBER" type="xsd:integer"/>
	<xsd:element name="NUM_QUEUE_PARTIES" type="xsd:integer"/>
	<xsd:element name="NUM_GW_CONFERENCES" type="xsd:integer"/>
	<xsd:element name="PRODUCT_TYPE" type="ProductType"/>
	<xsd:element name="NUM_PROFILES" type="xsd:integer"/>
	<xsd:element name="NUM_PARTY_QUEUES" type="xsd:integer"/>
	<xsd:element name="LAST_FAULT_ID" type="xsd:integer"/>
	<xsd:element name="NUM_ONGOING_RECORDINGS" type="xsd:integer"/>
	<xsd:element name="NUM_ONGOING_PLAYBACKS" type="xsd:integer"/>
	<xsd:element name="HTTP_PORT" type="xsd:integer"/>
	<xsd:element name="OPERATING_SYSTEM" type="OperatingSystemType"/>
	<xsd:element name="SILENCE_IT" type="xsd:boolean"/>	
	<xsd:element name="ENTRY_QUEUE_ROUTING"  type="EntryQueueRoutingType"/>
	<xsd:element name="COMPRESSION"  type="xsd:boolean"/>
	<xsd:element name="CONFERENCE_RECORDER" type="xsd:boolean" default="false"/>
	<xsd:element name="USER_PIN_CODE" type="xsd:string"/>
	<xsd:element name="HOST_NAME" type="xsd:string"/>
	<xsd:element name="HTTP_SECURED_PORT" type="xsd:integer"/>
	<xsd:element name="API_MANDATORY_SECURITY" type="xsd:boolean"/>	
	<xsd:element name="FILE_MANDATORY_SECURITY" type="xsd:boolean"/>
	<xsd:element name="LICENSING_VALIDATION_STATE" type="LicensingValidationStateType"/>
	<xsd:element name="NUMBER_OF_ACTIVE_ALARMS" type="xsd:integer"/>
	<xsd:element name="NUMBER_OF_CORE_DUMPS" type="xsd:integer"/>
	<xsd:element name="MEDIA_RECORDING" type="xsd:integer"/>
	<xsd:element name="COLLECTING_INFO" type="xsd:integer"/>
	<xsd:element name="SSH" type="xsd:boolean"/>	
	<xsd:element name="NUM_AUDIO_PORTS" type="xsd:integer"/>
	<xsd:element name="NUM_VIDEO_PORTS" type="xsd:integer"/>	
	<xsd:element name="AUDIO_VIDEO_CONFIG_LIST"  type="AudioVideoConfigListContent"/>
	<xsd:element name="AUDIO_VIDEO_CONFIG" type="AudioVideoConfigContent"/>
	<xsd:element name="SELECTED_ID"  type="xsd:integer"/>
	<xsd:element name="NEW_PASSWORD" type="xsd:string"/>
	<xsd:element name="PASSWORD_EXPIRATION_DAYS_LEFT" type="xsd:integer" default="90"/>   <!-- not supported -->
	<xsd:element name="SYSTEM_CARDS_MODE" type="SystemCardsModeType"/>
	<xsd:element name="SYSTEM_RAM_SIZE" type="SystemRamSizeType"/>
	<xsd:element name="SYSTEM_STARTUP_DURATION"  type="SystemStartupDurationContent"/>
	<xsd:element name="SYSTEM_STARTUP_DURATION_TOTAL_SECONDS" type="xsd:integer"/>
	<xsd:element name="SYSTEM_STARTUP_DURATION_REMAINING_SECONDS" type="xsd:integer"/>

	
	<xsd:simpleType name="EntryQueueRoutingType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="conference_password_routing"/>
			<xsd:enumeration value="numeric_id_routing"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="LicensingValidationStateType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="success"/>
			<xsd:enumeration value="failure"/>
			<xsd:enumeration value="unknown"/>
		</xsd:restriction>
	</xsd:simpleType>

	<!--obsolete-->
	<xsd:simpleType name="AsyncMethodType">
		<xsd:restriction base="xsd:string">
			<!--async responses, returns immediately, if in a get async  request data is in an internal-->
			<!--buffer, data will return immediately and not be posted and not be retrieved later-->
			<xsd:enumeration value="async_no_callback"/><!--The response will only be sanded to the MCU to get the full response you will have to send a TRANS_RESPONSE request -->
			<xsd:enumeration value="async_http_callback"/><!--Response will be posted over HTTP -->
			<xsd:enumeration value="async_com_callback"/><!--Response will be Fired using COM -->
			<xsd:enumeration value="async_c_callback"/><!--Response will be Fired using COM -->
		</xsd:restriction>
	</xsd:simpleType>


	<xsd:complexType name="AsyncContent">
		<xsd:sequence>
			<xsd:element ref="ASYNC_METHOD" minOccurs="0"/>
			<xsd:element ref="URL" minOccurs="0"/> <!-- Parameter has meaning only if RESPONSE=async_http_response -->
			<xsd:element ref="PORT_NUMBER" minOccurs="0" /><!-- Parameter has meaning only if RESPONSE=async_http_response -->
			<xsd:element ref="YOUR_TOKEN1" minOccurs="0" /><!--Save here your token or pointer or any 32 bit data that will return to you -->
			<xsd:element ref="YOUR_TOKEN2" minOccurs="0" /><!--Save here your token or pointer or any 32 bit data that will return to you -->
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="MCUStateContent">
		<xsd:sequence>
			<xsd:element ref="ID"/>
			<xsd:element ref="DESCRIPTION"/>
			<xsd:element ref="NUM_MEETING_ROOMS" minOccurs="0"/>		      <!--not supported-->
			<xsd:element ref="NUM_RESERVATIONS" minOccurs="0"/>			      <!--not supported-->
			<xsd:element ref="NUM_CONFERENCES" minOccurs="0"/>			      <!--not supported-->
			<xsd:element ref="NUM_QUEUE_PARTIES" minOccurs="0"/>		      <!--not supported-->
			<xsd:element ref="NUM_GW_CONFERENCES" minOccurs="0"/>		      <!--not supported-->
			<xsd:element ref="NUM_PROFILES" minOccurs="0"/>   			      <!--not supported-->
			<xsd:element ref="NUM_PARTY_QUEUES" minOccurs="0"/>			      <!--not supported-->
			<xsd:element ref="LAST_FAULT_ID" minOccurs="0"/>   			      <!--not supported-->
			<xsd:element ref="NUM_ONGOING_RECORDINGS" minOccurs="0"/>	    <!--not supported-->
			<xsd:element ref="NUM_ONGOING_PLAYBACKS" minOccurs="0"/>	    <!--not supported-->
			<xsd:element ref="MPL_SERIAL_NUMBER"/>
			<xsd:element ref="LICENSING_VALIDATION_STATE"/>
			<xsd:element ref="NUMBER_OF_ACTIVE_ALARMS"/>
			<xsd:element ref="NUMBER_OF_CORE_DUMPS"/>
			<xsd:element ref="MEDIA_RECORDING"/>
			<xsd:element ref="COLLECTING_INFO"/>
			<xsd:element ref="PRODUCT_TYPE"/>
			<xsd:element ref="SSH"/>
			<xsd:element ref="NUM_CONFERENCE_TEMPLATES" minOccurs="0"/>   <!--not supported-->
			<xsd:element ref="SYSTEM_STARTUP_DURATION"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:group name="SYNC_CHOICE">
		<xsd:choice>
			<xsd:element ref="ASYNC"/>
			<xsd:element ref="SYNC"/>
		</xsd:choice>
	</xsd:group>


	<xsd:complexType name="TransCommonParamsContent">
		<xsd:sequence>
			<xsd:element ref="MCU_TOKEN"/>
			<xsd:element ref="MCU_USER_TOKEN"/>
			<xsd:group ref="SYNC_CHOICE" minOccurs="0" />
			<xsd:element ref="MESSAGE_ID" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="McuContent">
		<xsd:sequence>
			<xsd:element ref="IP" minOccurs="0"/>
			<xsd:element ref="LISTEN_PORT" minOccurs="0"/><!--relevant only when connecting-->
			<xsd:element ref="HOST_NAME" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="VersionListContent">
		<xsd:sequence>
			<xsd:element ref="MCU_VERSION"/>
			<xsd:element ref="MCMS_VERSION"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="VersionContent">
		<xsd:sequence>
			<xsd:element ref="MAIN"/>
			<xsd:element ref="MAJOR"/>
			<xsd:element ref="MINOR"/>
			<xsd:element ref="INTERNAL" minOccurs="0"/>
			<xsd:element ref="PRIVATE_DESCRIPTION" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="LoginRequestContent">
		<xsd:sequence>
			<xsd:element ref="MCU_IP"/>
			<xsd:element ref="USER_NAME"/>
			<xsd:element ref="PASSWORD"/>
			<xsd:element ref="STATION_NAME" minOccurs="0"/>
			<xsd:element ref="COMPRESSION" minOccurs="0"/>
			<xsd:element ref="CONFERENCE_RECORDER" minOccurs="0"/>			<!--not supported-->
			<xsd:element ref="NEW_PASSWORD" minOccurs="0"/>					<!--not supported-->
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:simpleType name="AuthorizationGroupType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="administrator"/>
			<xsd:enumeration value="operator"/>
			<xsd:enumeration value="moderator"/>
			<xsd:enumeration value="attendant"/>
			<xsd:enumeration value="recording_user"/>
			<xsd:enumeration value="recording_administrator"/>
			<xsd:enumeration value="auditor"/>
			<xsd:enumeration value="anonymous"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:complexType name="LoginResponseContent">
		<xsd:sequence>
				<xsd:element ref="MCU_TOKEN" minOccurs="0"/>
				<xsd:element ref="MCU_USER_TOKEN" minOccurs="0"/>
				<xsd:element ref="VERSION_LIST" minOccurs="0"/>
				<xsd:element ref="AUTHORIZATION_GROUP" minOccurs="0"/>
				<xsd:element ref="API_NUMBER" minOccurs="0"/>
				<xsd:element ref="PRODUCT_TYPE" minOccurs="0"/>
				<xsd:element ref="HTTP_PORT" minOccurs="0"/>
				<xsd:element ref="OPERATING_SYSTEM" minOccurs="0"/>			<!--not supported-->
				<xsd:element ref="ENTRY_QUEUE_ROUTING" minOccurs="0"/>		<!--not supported-->
				<xsd:element ref="HTTP_SECURED_PORT" minOccurs="0"/>		<!--not supported-->
				<xsd:element ref="API_MANDATORY_SECURITY" minOccurs="0"/>	<!--not supported-->
				<xsd:element ref="FILE_MANDATORY_SECURITY" minOccurs="0"/>	<!--not supported-->
				<xsd:element ref="PASSWORD_EXPIRATION_DAYS_LEFT" minOccurs="0"/> <!-- not supported -->
				<xsd:element ref="SYSTEM_CARDS_MODE" minOccurs="0"/>
				<xsd:element ref="SYSTEM_RAM_SIZE" minOccurs="0"/>
				<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:simpleType name="ProductType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="mgc_100"/>
			<xsd:enumeration value="mgc_50"/>
			<xsd:enumeration value="mgc_25"/>
			<xsd:enumeration value="mgc_25_recorder"/>
			<xsd:enumeration value="mgc_100_plus"/>
			<xsd:enumeration value="mgc_50_plus"/>
			<xsd:enumeration value="mgc_25_plus"/>
			<xsd:enumeration value="Rmx"/>		<!-- before identifying the specific type -->
			<xsd:enumeration value="Rmx_2000"/>
			<xsd:enumeration value="Rmx_1000"/>
			<xsd:enumeration value="Rmx_6000"/>
			<xsd:enumeration value="npg_2000"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="OperatingSystemType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="psos"/>
			<xsd:enumeration value="xpe"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:simpleType name="SystemCardsModeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="mpm"/>
			<xsd:enumeration value="mpm_plus"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="SystemRamSizeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="512_mb"/>
			<xsd:enumeration value="1024_mb"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:complexType name="AudioVideoConfigListContent">
		<xsd:sequence>
			<xsd:element ref="SELECTED_ID" minOccurs="0"/>
			<xsd:element ref="AUDIO_VIDEO_CONFIG" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>	
	
	<xsd:complexType name="AudioVideoConfigContent">
		<xsd:sequence>
			<xsd:element ref="ID"/>
			<xsd:element ref="NUM_AUDIO_PORTS"/>
			<xsd:element ref="NUM_VIDEO_PORTS"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>	
	
	<xsd:simpleType name="AllocationModeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="none"/>
			<xsd:enumeration value="auto"/>
			<xsd:enumeration value="fixed"/>
		</xsd:restriction>
	</xsd:simpleType>	
	
	<xsd:complexType name="SystemStartupDurationContent">
		<xsd:sequence>
			<xsd:element ref="SYSTEM_STARTUP_DURATION_TOTAL_SECONDS" minOccurs="0"/>
			<xsd:element ref="SYSTEM_STARTUP_DURATION_REMAINING_SECONDS" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>	


</xsd:schema>
