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

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


	<xsd:element name="GW_DELIMITERS" type="GwDelimitersContent"/>
	<xsd:element name="SPEED_DIAL_INDICATOR" type="GwDelimiterType"/>
	<xsd:element name="MULTIPLE_NUMBERS_DELIMITER" type="GwDelimiterType"/>
	<xsd:element name="PHONE_RANGE" type="GwPhoneRangeContent"/>
	<xsd:element name="SESSION_SETTING_NAME" type="xsd:string"/>
	<xsd:element name="CONVERT_LIST" type="ConvertListContent"/>
	<xsd:element name="CONVERT_ELEMENT" type="ConvertElementContent"/>
	<xsd:element name="DID_NUMBER" type="xsd:string"/>
	<xsd:element name="FORWARD_LIST" type="ForwardListContent"/>
	<xsd:element name="FORWARD_ELEMENT" type="ForwardElementContent"/>
	<xsd:element name="TSC4" type="xsd:boolean"/>
	<xsd:element name="IVR_DTMF" type="xsd:boolean"/>
	<xsd:element name="RECEPTION" type="xsd:boolean"/>
	<xsd:element name="CONNECTION_TYPE" type="GwConnectionType"/>
	<xsd:element name="LINE_RATE" type="TransferRateType"/>
	<xsd:element name="AUDIO_ONLY" type="xsd:boolean"/>
	<xsd:element name="H323_SERVICE_NAME" type="xsd:string"/>
	<xsd:element name="H320_SERVICE_NAME" type="xsd:string"/>
	<xsd:element name="H320_SUB_SERVICE_NAME" type="xsd:string"/>
	<xsd:element name="GW_SERVICE" type="GwServiceContent"/>
	<xsd:element name="GW_SERVICE_BASE" type="GwServicesBaseContent"/>
	<xsd:element name="TRANSCODING" type="GwTranscodingModeType"/>
	<xsd:element name="REMOTE_GW_NAME" type="xsd:string"/>
	<xsd:element name="DEFAULT_SERVICE" type="xsd:boolean"/>
	<xsd:element name="H323_SERVICE_PREFIX" type="xsd:string"/>
	<xsd:element name="GW_ADDRESS_ENTRY" type="GwAddressEntryContent"/>
	<xsd:element name="PROFILE_OR_SERVICE_METHOD" type="GwProfileServiceMethodType"/>
	<xsd:element name="ENDPOINT_NAME" type="xsd:string"/>
	<xsd:element name="H323_ENDPOINT_ID" type="xsd:string"/>
	<xsd:element name="PROFILE_NAME" type="xsd:string"/>
	<xsd:element name="PHONE_NUMBER" type="xsd:string"/>
	<xsd:element name="BONDING_NUMBER" type="xsd:string"/>
	<xsd:element name="GW_BASIC_PHONE_RANGE" type="GwBasicPhoneRangeContent"/>
	<xsd:element name="FIRST_NUMBER" type="xsd:string"/>
	<xsd:element name="LAST_NUMBER" type="xsd:string"/>
	<xsd:element name="DESTINATION_ZONE_PREFIX" type="xsd:string"/>
	<xsd:element name="GW_RANGE_MODE" type="GWRangeModeParam"/>
	<xsd:element name="PHONES_RANGES_LIST" type="GwPhonesRangesListContent"/>
	<xsd:element name="USAGE" type="GwPhoneRangeUsageType"/>
	<xsd:element name="ENCRYPTED" type="xsd:boolean"/>
	<xsd:element name="SERVICE_PROVIDERS_LIST" type="GwServiceProvidersListContent"/>
	<xsd:element name="SERVICE_PROVIDER" type="GwServiceProviderContent"/>
	<xsd:element name="SERVICE_TYPE" type="ServiceType"/>
	<xsd:element name="PROFILE_INFO" type="GwProfileInfoContent"/>
	<xsd:element name="DEFAULT" type="xsd:boolean"/>
	<xsd:element name="DEFAULT_SERVICE_NAME" type="xsd:string"/>
	<xsd:element name="DEFAULT_SUB_SERVICE" type="xsd:string"/>
	<xsd:element name="REMOTE_GW_DEFS" type="GwRemoteGwDefsContent"/>
	<xsd:element name="GW2GW_CONNECTION_TYPE" type="Gw2GwConnectionType"/>
	<xsd:element name="GW_LINK" type="Gw2GwLinkContent"/>
	<xsd:element name="DEST_GW_CONNECTION_TYPE" type="GwConnectionType"/>
	<xsd:element name="DEST_GW_TYPE" type="Gw2GwType"/>
	<xsd:element name="H323_ID" type="xsd:string"/>
	<xsd:element name="REMOTE_GW_H323_ID" type="xsd:string"/>
	<xsd:element name="REMOTE_GW_DID_NUMBER" type="xsd:string"/>
	<xsd:element name="LOCAL_PROFILE_NAME" type="xsd:string"/>


	<xsd:complexType name="Gw2GwLinksListContent">
		<xsd:sequence>
			<xsd:element ref="OBJ_TOKEN"/>
			<xsd:element ref="CHANGED"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
			<xsd:element ref="GW_LINK" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="Gw2GwLinkContent">
		<xsd:sequence>
			<xsd:element ref="NAME"/>
			<xsd:element ref="DEST_GW_CONNECTION_TYPE" minOccurs="0"/>
			<xsd:element ref="DEST_GW_TYPE" minOccurs="0"/>
			<xsd:element ref="H323_ID" minOccurs="0"/>
			<xsd:element ref="DID_NUMBER" minOccurs="0"/>
			<xsd:element ref="REMOTE_GW_H323_ID" minOccurs="0"/>
			<xsd:element ref="REMOTE_GW_DID_NUMBER" minOccurs="0"/>
			<xsd:element ref="LOCAL_PROFILE_NAME" minOccurs="0"/>
			<xsd:element ref="REMOTE_GW_NAME" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:simpleType name="Gw2GwType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="not_used"/>
			<xsd:enumeration value="h323_destination"/>
			<xsd:enumeration value="profile"/>
			<xsd:enumeration value="address_book"/>
			<xsd:enumeration value="forwarding_service"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:complexType name="GwRemoteGwListContent">
		<xsd:sequence>
			<xsd:element ref="OBJ_TOKEN"/>
			<xsd:element ref="CHANGED"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
			<xsd:element ref="REMOTE_GW_DEFS" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="GwRemoteGwDefsContent">
		<xsd:sequence>
			<xsd:element ref="NAME"/>
			<xsd:element ref="GW2GW_CONNECTION_TYPE" minOccurs="0"/>
			<xsd:element ref="IP" minOccurs="0"/>
			<xsd:element ref="ALIAS" minOccurs="0"/>
			<xsd:element ref="PHONE_NUMBER" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="GwInfoContent">
		<xsd:sequence>
			<xsd:element ref="SERVICE_PROVIDERS_LIST" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
			<xsd:element ref="PROFILE_INFO" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="GwProfileInfoContent">
		<xsd:sequence>
			<xsd:element ref="SESSION_SETTING_NAME" minOccurs="0"/>
			<xsd:element ref="DEFAULT" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="GwServiceProvidersListContent">
		<xsd:sequence>
			<xsd:element ref="DEFAULT_SERVICE_NAME" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
			<xsd:element ref="SERVICE_PROVIDER" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="GwServiceProviderContent">
		<xsd:sequence>
			<xsd:element ref="NAME"/>
			<xsd:element ref="DEFAULT_SUB_SERVICE" minOccurs="0"/>
			<xsd:element ref="SERVICE_TYPE" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
			<xsd:element ref="SUB_SERVICE_NAME" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="GWRangeModeListParam">
		<xsd:sequence>
			<xsd:element ref="GW_RANGE_MODE" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="GWRangeModeParam">
		<xsd:sequence>
			<xsd:element ref="SERVICE_NAME" minOccurs="0"/>
			<xsd:element ref="FIRST_NUMBER" minOccurs="0"/>
			<xsd:element ref="LAST_NUMBER" minOccurs="0"/>
			<xsd:element ref="DESTINATION_ZONE_PREFIX" minOccurs="0"/>
			<xsd:element ref="USAGE" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:simpleType name="GwPhoneRangeUsageType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="not_used"/>
			<xsd:enumeration value="h323_destination"/>
			<xsd:enumeration value="forwarding_service"/>
			<xsd:enumeration value="address_book"/>
			<xsd:enumeration value="double_gateway_link"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:complexType name="GwBasicPhonesRangesListContent">
		<xsd:sequence>
			<xsd:element ref="OBJ_TOKEN"/>
			<xsd:element ref="CHANGED"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
			<xsd:element ref="GW_BASIC_PHONE_RANGE" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="GwBasicPhoneRangeContent">
		<xsd:sequence>
			<xsd:element ref="SERVICE_NAME" minOccurs="0"/>
			<xsd:element ref="FIRST_NUMBER" minOccurs="0"/>
			<xsd:element ref="LAST_NUMBER" minOccurs="0"/>
			<xsd:element ref="PHONES_RANGES_LIST" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="GwAddressesListContent">
		<xsd:sequence>
			<xsd:element ref="OBJ_TOKEN"/>
			<xsd:element ref="CHANGED"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
			<xsd:element ref="GW_ADDRESS_ENTRY" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="GwAddressEntryContent">
		<xsd:sequence>
			<xsd:element ref="GW_SERVICE_BASE"/>
			<xsd:element ref="ENDPOINT_NAME"/>
			<xsd:element ref="H323_ENDPOINT_ID" minOccurs="0"/>
			<xsd:element ref="PROFILE_OR_SERVICE_METHOD" minOccurs="0"/>
			<xsd:element ref="PROFILE_NAME" minOccurs="0"/>
			<xsd:element ref="SERVICE_NAME" minOccurs="0"/>
			<xsd:element ref="ALIAS" minOccurs="0"/>
			<xsd:element ref="IP" minOccurs="0"/>
			<xsd:element ref="PHONE_NUMBER" minOccurs="0" maxOccurs="30"/>
			<xsd:element ref="BONDING_NUMBER" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:simpleType name="GwProfileServiceMethodType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="profile"/>
			<xsd:enumeration value="service"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:complexType name="GwServicesListContent">
		<xsd:sequence>
			<xsd:element ref="OBJ_TOKEN"/>
			<xsd:element ref="CHANGED"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
			<xsd:element ref="GW_SERVICE" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="GwServiceContent">
		<xsd:sequence>
			<xsd:element ref="GW_SERVICE_BASE"/>
			<xsd:element ref="NAME" minOccurs="0"/>	<!-- MUST param when creating the service -->
			<xsd:element ref="ID" minOccurs="0"/>	<!-- MUST param when updating the service -->
			<xsd:element ref="TRANSCODING" minOccurs="0"/>
			<xsd:element ref="REMOTE_GW_NAME" minOccurs="0"/>
			<xsd:element ref="DEFAULT_SERVICE" minOccurs="0"/>
			<xsd:element ref="H323_SERVICE_PREFIX" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:simpleType name="GwTranscodingModeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="when_require"/>
			<xsd:enumeration value="never"/>
			<xsd:enumeration value="always"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:complexType name="GwServicesBaseContent">
		<xsd:sequence>
			<xsd:element ref="CONNECTION_TYPE"/>
			<xsd:element ref="SERVICE_NAME"/>
			<xsd:element ref="H320_SUB_SERVICE_NAME" minOccurs="0"/>
			<xsd:element ref="DID_NUMBER" minOccurs="0"/>
			<xsd:element ref="LINE_RATE" minOccurs="0"/>
			<xsd:element ref="AUDIO_ONLY" minOccurs="0"/>
			<xsd:element ref="RESTRICT" minOccurs="0"/>
			<xsd:element ref="ENCRYPTED" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:simpleType name="GwConnectionType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="h320"/>
			<xsd:enumeration value="h323"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="Gw2GwConnectionType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="h320"/>
			<xsd:enumeration value="h323"/>
			<xsd:enumeration value="h320_or_h323"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:complexType name="GwPhonesRangesListContent">
		<xsd:sequence>
			<xsd:element ref="PHONE_RANGE" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="GwPhoneRangeContent">
		<xsd:sequence>
			<xsd:element ref="GW_RANGE_MODE" minOccurs="0"/>
			<xsd:element ref="SESSION_SETTING_NAME" minOccurs="0"/>
			<xsd:element ref="CONVERT_LIST" minOccurs="0"/>
			<xsd:element ref="FORWARD_LIST" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="ForwardElementContent">
		<xsd:sequence>
			<xsd:element ref="DID_NUMBER" minOccurs="0"/>
			<xsd:element ref="SESSION_SETTING_NAME" minOccurs="0"/>
			<xsd:element ref="TSC4" minOccurs="0"/>
			<xsd:element ref="IVR_DTMF" minOccurs="0"/>
			<xsd:element ref="RECEPTION" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="ForwardListContent">
		<xsd:sequence>
			<xsd:element ref="FORWARD_ELEMENT" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="ConvertElementContent">
		<xsd:sequence>
			<xsd:element ref="DID_NUMBER" minOccurs="0"/>
			<xsd:element ref="DESCRIPTION" minOccurs="0"/>
			<xsd:element ref="ALIAS" minOccurs="0"/>
			<xsd:element ref="IP" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="ConvertListContent">
		<xsd:sequence>
			<xsd:element ref="CONVERT_ELEMENT" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="GwDelimitersContent">
		<xsd:sequence>
			<xsd:element ref="SPEED_DIAL_INDICATOR" minOccurs="0"/>
			<xsd:element ref="MULTIPLE_NUMBERS_DELIMITER" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:simpleType name="GwDelimiterType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="*"/>
			<xsd:enumeration value="#"/>
		</xsd:restriction>
	</xsd:simpleType>

</xsd:schema>
