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

<xsd:include schemaLocation="common_trans.xsd"/>
<xsd:include schemaLocation="obj_mcu_memory_state.xsd"/>
<xsd:include schemaLocation="obj_mcu_lan_configuration.xsd"/>
<xsd:include schemaLocation="obj_mcu_time.xsd"/>
<xsd:include schemaLocation="obj_licensing_configuration.xsd"/>
<xsd:include schemaLocation="obj_directory.xsd"/>
<xsd:include schemaLocation="obj_junction.xsd"/>


	<xsd:element name="LOGOUT"/>
	<xsd:element name="LOGIN"  type="LoginResponseContent"/>
	<xsd:element name="RESET"/>
	<xsd:element name="SET_LAN_CONFIGURATION"/>
	<xsd:element name="SET_TIME"/>
	<xsd:element name="FILE_UPDATED"/>
	<xsd:element name="CREATE_DIRECTORY"/>
	<xsd:element name="RENAME"/>
	<xsd:element name="REMOVE_DIRECTORY"/>
	<xsd:element name="REMOVE_DIRECTORY_CONTENT"/>
	<xsd:element name="BEGIN_RECEIVING_VERSION"/>
	<xsd:element name="FINISHED_TRANSFER_VERSION"/>
	<xsd:element name="STOP_ALL_MEDIA_RECORDING"/>
	<xsd:element name="UPDATE_KEY_CODE"/>
	<xsd:element name="FLUSH"/>
	<xsd:element name="SET_RESTORE_TYPE"/>
	<xsd:element name="COLLECT_INFO"/>
	<xsd:element name="GET_INSTALLATION_STATUS"/>
	<xsd:element name="TURN_SSH"/>
	<xsd:element name="SET_PORT_CONFIGURATION"/>
	<xsd:element name="ENHANCED_PORT_CONFIGURATION" type="EnhancedPortConfiguration"/>
	<xsd:element name="SET_ENHANCED_PORT_CONFIGURATION" />
	<xsd:element name="AUDIO_CONFIG" type="EnhancedPortConfigurationContent"/>
	<xsd:element name="CIF_CONFIG" type="EnhancedPortConfigurationContent"/>
	<xsd:element name="SD_CONFIG" type="EnhancedPortConfigurationContent"/>
	<xsd:element name="HD720_CONFIG" type="EnhancedPortConfigurationContent"/>
	<xsd:element name="HD1080_CONFIG" type="EnhancedPortConfigurationContent"/>
	<xsd:element name="CONFIG_SYSTEM_MAXIMUM" type="xsd:integer"/>
	<xsd:element name="CONFIG_CURRENT" type="xsd:integer"/>
	<xsd:element name="CONFIG_OPTIONAL_MAXIMUM" type="xsd:integer"/>
	<xsd:element name="CONFIG_STEP" type="xsd:integer"/>
	<xsd:element name="INSTALL_PREVIOUS_VERSION"/>
	<xsd:element name="ALLOCATION_MODE" type="AllocationModeContent"/>
	<xsd:element name="SET_ALLOCATION_MODE"/>
	<xsd:element name="ALLOCATION_MODE_CURRENT" type="AllocationModeType"/>
	<xsd:element name="ALLOCATION_MODE_FUTURE" type="AllocationModeType"/>


	<xsd:element name="RESPONSE_TRANS_MCU">
	    <xsd:complexType>
		    <xsd:sequence>
				<xsd:element  ref="RETURN_STATUS"/>
				<xsd:choice>
					<xsd:group ref="ACTIONS"/>
					<xsd:element ref="ACTION"/>
				</xsd:choice>
			</xsd:sequence>
		</xsd:complexType>
    </xsd:element>


	<xsd:element name="GET_STATE">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="MCU_STATE" minOccurs="0"/>
		    </xsd:sequence>
		</xsd:complexType>
    </xsd:element>

	<xsd:element name="GET_MEMORY_STATE">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="MCU_MEMORY_STATE" minOccurs="0"/>
		    </xsd:sequence>
		</xsd:complexType>
    </xsd:element>

	<xsd:element name="GET_LAN_CONFIGURATION">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="MCU_LAN_CONFIGURATION" minOccurs="0"/>
		    </xsd:sequence>
		</xsd:complexType>
    </xsd:element>

	<xsd:element name="GET_TIME">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="MCU_TIME" minOccurs="0"/>
		    </xsd:sequence>
		</xsd:complexType>
    </xsd:element>

	<xsd:element name="GET_CFS">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="LICENSING_CONFIGURATION" minOccurs="0"/>
		    </xsd:sequence>
		</xsd:complexType>
    </xsd:element>

	<xsd:element name="GET_DIRECTORY">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="DIRECTORY" minOccurs="0"/>
		    </xsd:sequence>
		</xsd:complexType>
    </xsd:element>

	<xsd:element name="GET_DIRECTORY_RECURSIVE">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="DIRECTORY" minOccurs="0"/>
		    </xsd:sequence>
		</xsd:complexType>
    </xsd:element>

	<xsd:element name="GET_VIRTUAL_DIRECTORY">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="DIRECTORY" minOccurs="0"/>
		    </xsd:sequence>
		</xsd:complexType>
    </xsd:element>

	<xsd:element name="GET_VIRTUAL_DIRECTORY_RECURSIVE">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="DIRECTORY" minOccurs="0"/>
		    </xsd:sequence>
		</xsd:complexType>
    </xsd:element>
    
    <xsd:element name="GET_RECORDING_JUNCTION_LIST">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="JUNCTION_LIST" minOccurs="0"/>
		    </xsd:sequence>
		</xsd:complexType>
    </xsd:element>

	<xsd:element name="GET_PORT_CONFIGURATION">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="AUDIO_VIDEO_CONFIG_LIST" minOccurs="0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="GET_ENHANCED_PORT_CONFIGURATION">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ENHANCED_PORT_CONFIGURATION" minOccurs="0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="GET_CHECK_ENHANCED_PORT_CONFIGURATION">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ENHANCED_PORT_CONFIGURATION" minOccurs="0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="GET_ALLOCATION_MODE">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ALLOCATION_MODE" minOccurs="0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:complexType name="EnhancedPortConfiguration">
		<xsd:sequence>
			<xsd:element ref="AUDIO_CONFIG"/>
			<xsd:element ref="CIF_CONFIG"/>
			<xsd:element ref="SD_CONFIG"/>
			<xsd:element ref="HD720_CONFIG"/>
			<xsd:element ref="HD1080_CONFIG"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>
    
	<xsd:complexType name="EnhancedPortConfigurationContent">
		<xsd:sequence>
			<xsd:element ref="CONFIG_SYSTEM_MAXIMUM"/>
			<xsd:element ref="CONFIG_CURRENT"/>
			<xsd:element ref="CONFIG_OPTIONAL_MAXIMUM"/>
			<xsd:element ref="CONFIG_STEP"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="AllocationModeContent">
		<xsd:sequence>
			<xsd:element ref="ALLOCATION_MODE_CURRENT" />
			<xsd:element ref="ALLOCATION_MODE_FUTURE" />
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>


	<xsd:group name="ACTIONS">
		<xsd:choice>
			<xsd:element ref="LOGIN"/>
			<xsd:element ref="LOGOUT"/>
			<xsd:element ref="GET_STATE"/>
			<xsd:element ref="GET_MEMORY_STATE"/>							<!--not supported-->
			<xsd:element ref="RESET"/>										
			<xsd:element ref="GET_LAN_CONFIGURATION"/>						<!--not supported-->
			<xsd:element ref="SET_LAN_CONFIGURATION"/>						<!--not supported-->
			<xsd:element ref="GET_TIME"/>
			<xsd:element ref="SET_TIME"/>
			<xsd:element ref="GET_DIRECTORY"/>
			<xsd:element ref="GET_DIRECTORY_RECURSIVE"/>					<!--not supported-->
			<xsd:element ref="GET_VIRTUAL_DIRECTORY"/>
			<xsd:element ref="GET_VIRTUAL_DIRECTORY_RECURSIVE"/>
			<xsd:element ref="FILE_UPDATED"/>								<!--not supported-->
			<xsd:element ref="CREATE_DIRECTORY"/>
			<xsd:element ref="RENAME"/>
			<xsd:element ref="REMOVE_DIRECTORY"/>
			<xsd:element ref="BEGIN_RECEIVING_VERSION"/>
			<xsd:element ref="FINISHED_TRANSFER_VERSION"/>
			<xsd:element ref="UPDATE_KEY_CODE"/>
			<xsd:element ref="FLUSH"/>
			<xsd:element ref="GET_CFS"/>
			<xsd:element ref="STOP_ALL_MEDIA_RECORDING"/>
			<xsd:element ref="GET_RECORDING_JUNCTION_LIST"/>
			<xsd:element ref="SET_RESTORE_TYPE"/>
			<xsd:element ref="COLLECT_INFO"/>
			<xsd:element ref="GET_INSTALLATION_STATUS"/>
			<xsd:element ref="TURN_SSH"/>
			<xsd:element ref="REMOVE_DIRECTORY_CONTENT"/>
			<xsd:element ref="GET_PORT_CONFIGURATION"/>
			<xsd:element ref="SET_PORT_CONFIGURATION"/>
			<xsd:element ref="GET_ENHANCED_PORT_CONFIGURATION"/>
			<xsd:element ref="GET_CHECK_ENHANCED_PORT_CONFIGURATION"/>
			<xsd:element ref="SET_ENHANCED_PORT_CONFIGURATION"/>
			<xsd:element ref="INSTALL_PREVIOUS_VERSION"/>
			<xsd:element ref="GET_ALLOCATION_MODE"/>
			<xsd:element ref="SET_ALLOCATION_MODE"/>
		</xsd:choice>
	</xsd:group>

	<xsd:element name="ACTION">
		<xsd:complexType> 
			<xsd:sequence>
				<xsd:group ref="ACTIONS"/>
			</xsd:sequence>
		</xsd:complexType> 
	</xsd:element>
	
</xsd:schema>
