All Differences in

Managed Object Model (MOM)

0

Managed Information Model (MIM) identity
     Name   : BrM
     Version : 3
     Release : 2
     Correction : 0
    

Compared to

Configuration Management XML MOM


0

Managed Information Model (MIM) identity
     Name   : BrM
     Version : 3
     Release : 2
     Correction : 0
    


class ArwaConfiguration
class ChainCertificate
class CscfProactiveMonitoredSipInterface
class CscfProactiveMonitoredSipInterfaceGroup
class BcfNetworkInterface
validationRules
rule BcfPortConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>
&#13;
<assert test='@bcfNetworkInterfaceEntry and (../../../@bcfEnabled )'>[Rule CSCF1] bcfEnabled must be set to true before creating an BcfNetworkInterface instance</assert>&#13;
<assert test='@bcfNetworkInterfaceEntry and (count (../../../@bcfDomainNameEntry) ge 1)'>[Rule CSCF2] bcfDomainNameEntry must contain at least one entry before creating an BcfNetworkInterface instance</assert> &#13;
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>

<assert test='@bcfNetworkInterfaceEntry and (../../../@bcfEnabled )'>[Rule CSCF1] bcfEnabled must be set to true before creating an BcfNetworkInterface instance</assert>
<assert test='@bcfNetworkInterfaceEntry and (count (../../../@bcfDomainNameEntry) ge 1)'>[Rule CSCF2] bcfDomainNameEntry must contain at least one entry before creating an BcfNetworkInterface instance</assert>
</rule>
</pattern>
</schema>

class CapacityKey
attribute licensedCapacityLimit
description
  Licensed capacity limit as defined in the installed key file.

For LM deployments that connect to Arwa, the licensed capacity limit is defined in the Arwa License Server.

For LM deployments that connect to NeLS, the licensed capacity limit is the capacity limit value granted by NeLS.

class CertM
action installTrustedCertFromUri
parameter fingerprint
description
  The Secure Hash Algorithm (SHA) fingerprint of the certificate to be installed.

The fingerprint is checked against the fingerprint calculated on the installed file. If fingerprint verification is not required, the 'NULL' string has to be provided. The hash must be calculated by the SHA algorithm indicated in fingerprintSupport of the CertMCapabilities MO.
parameter uriPassword
description
  The password section of the URI. If a password is not required, the 'NULL' string must be provided. URI.

class CertMCapabilities
attribute fingerprintSupport
domainExtension
isNillable
attribute keySupport

class CscfActiveUserLicenseModel
validationRules
rule ActiveUserLicenseConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>
<assert test='((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfPersonalMaxNumOfIMPUs) le (CscfAdvancedProfileEntry[@cscfAdvancedProfileEntryId eq "advanced"]/@cscfAdvancedMaxNumOfIMPUs)) and not((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfPersonalMaxNumOfIMPUs)=(CscfAdvancedProfileEntry[@cscfAdvancedProfileEntryId eq "advanced"]/@cscfAdvancedMaxNumOfIMPUs))'>[Rule CSCF90] The attribute numberOfIMPUs of personal profile must be lower than numberOfIMPUs of advanced profile.</assert>
<assert test='((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfPersonalMaxNumOfContacts) le (CscfAdvancedProfileEntry[@cscfAdvancedProfileEntryId eq "advanced"]/@cscfAdvancedMaxNumOfContacts)) and not((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfPersonalMaxNumOfContacts)=(CscfAdvancedProfileEntry[@cscfAdvancedProfileEntryId eq "advanced"]/@cscfAdvancedMaxNumOfContacts))'>[Rule CSCF91] The attribute numberOfContacts of personal profile must be lower than numberOfContacts of advanced profile.</assert>
<assert test='((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfMultiDeviceNumberOfContacts) and (CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/number(@cscfMultiDeviceNumberOfContacts)) le (CscfAdvancedProfileEntry[@cscfAdvancedProfileEntryId eq "advanced"]/@cscfAdvancedMaxNumOfContacts) and not((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/number(@cscfMultiDeviceNumberOfContacts))=(CscfAdvancedProfileEntry[@cscfAdvancedProfileEntryId eq "advanced"]/@cscfAdvancedMaxNumOfContacts))) or not(CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfMultiDeviceNumberOfContacts)'>[Rule CSCF92] The attribute MultiDeviceNumberOfContacts of personal profile must be lower than numberOfContacts of advanced profile.</assert>
<assert test='((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfMultiDeviceNumberOfContacts) and (CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfPersonalMaxNumOfContacts) le (CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/number(@cscfMultiDeviceNumberOfContacts)) and not ((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfPersonalMaxNumOfContacts)=(CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/number(@cscfMultiDeviceNumberOfContacts)))) or not(CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfMultiDeviceNumberOfContacts)'>[Rule CSCF93] The attribute numberOfContacts of personal profile must be lower than MultiDeviceNumberOfContacts, if MultiDeviceNumberOfContacts is present.</assert>
<assert test='(((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@scscfMultiDeviceAdministrativeState) eq 1) and (CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfMultiDeviceNumberOfContacts)) or ((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@scscfMultiDeviceAdministrativeState) eq 0)'>[Rule CSCF99] Attributes scscfMultiDeviceAdministrativeState and cscfMultiDeviceNumberOfContacts are related to each other. To set scscfMultiDeviceAdministrativeState to UNLOCKED, cscfMultiDeviceNumberOfContacts must first be defined and vice versa, scscfMultiDeviceAdministrativeState must be set to LOCKED prior to delete cscfMultiDeviceNumberOfContacts.</assert>
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfPersonalMaxNumOfIMPUs) le (CscfAdvancedProfileEntry[@cscfAdvancedProfileEntryId eq "advanced"]/@cscfAdvancedMaxNumOfIMPUs)) and not((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfPersonalMaxNumOfIMPUs)=(CscfAdvancedProfileEntry[@cscfAdvancedProfileEntryId eq "advanced"]/@cscfAdvancedMaxNumOfIMPUs))'>[Rule CSCF90] The attribute numberOfIMPUs of personal profile must be lower than numberOfIMPUs of advanced profile.</assert>
<assert test='((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfPersonalMaxNumOfContacts) le (CscfAdvancedProfileEntry[@cscfAdvancedProfileEntryId eq "advanced"]/@cscfAdvancedMaxNumOfContacts)) and not((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfPersonalMaxNumOfContacts)=(CscfAdvancedProfileEntry[@cscfAdvancedProfileEntryId eq "advanced"]/@cscfAdvancedMaxNumOfContacts))'>[Rule CSCF91] The attribute numberOfContacts of personal profile must be lower than numberOfContacts of advanced profile.</assert>
<assert test='((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfMultiDeviceNumberOfContacts) and (CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/number(@cscfMultiDeviceNumberOfContacts)) le (CscfAdvancedProfileEntry[@cscfAdvancedProfileEntryId eq "advanced"]/@cscfAdvancedMaxNumOfContacts) and not((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/number(@cscfMultiDeviceNumberOfContacts))=(CscfAdvancedProfileEntry[@cscfAdvancedProfileEntryId eq "advanced"]/@cscfAdvancedMaxNumOfContacts))) or not(CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfMultiDeviceNumberOfContacts)'>[Rule CSCF92] The attribute MultiDeviceNumberOfContacts of personal profile must be lower than numberOfContacts of advanced profile.</assert>
<assert test='((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfMultiDeviceNumberOfContacts) and (CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfPersonalMaxNumOfContacts) le (CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/number(@cscfMultiDeviceNumberOfContacts)) and not ((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfPersonalMaxNumOfContacts)=(CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/number(@cscfMultiDeviceNumberOfContacts)))) or not(CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfMultiDeviceNumberOfContacts)'>[Rule CSCF93] The attribute numberOfContacts of personal profile must be lower than MultiDeviceNumberOfContacts, if MultiDeviceNumberOfContacts is present.</assert>
<assert test='(((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@scscfMultiDeviceAdministrativeState) eq 1) and (CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@cscfMultiDeviceNumberOfContacts)) or ((CscfPersonalProfileEntry[@cscfPersonalProfileEntryId eq "personal"]/@scscfMultiDeviceAdministrativeState) eq 0)'>[Rule CSCF99] Attributes scscfMultiDeviceAdministrativeState and cscfMultiDeviceNumberOfContacts are related to each other. To set scscfMultiDeviceAdministrativeState to UNLOCKED, cscfMultiDeviceNumberOfContacts must first be defined and vice versa, scscfMultiDeviceAdministrativeState must be set to LOCKED prior to delete cscfMultiDeviceNumberOfContacts.</assert>
</rule>
</pattern>
</schema>

class CSCF-Application
validationRules
rule CscfApplicationConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test=' (@cscfSessionRefreshMin le @cscfSessionRefreshDefault) and (@cscfSessionRefreshDefault le @cscfSessionRefreshMax)'>[Rule CSCF3] cscfSessionRefreshMin must be less than equal to cscfSessionRefreshDefault and cscfSessionRefreshDefault must be less than equal to cscfSessionRefreshMax</assert>&#13;

<assert test=' ((@cscfEnableGlobalNumberNormalization) and (@cscfGlobalNumberNormalizationPhoneContext ne "")) or not(@cscfEnableGlobalNumberNormalization)'>[Rule CSCF4] cscfGlobalNumberNormalizationPhoneContext must be configured before enabling cscfEnableGlobalNumberNormalization</assert>&#13;

<assert test='are-distinct-values(@cscfActiveUserMethod)'>[Rule CSCF5] cscfActiveUserMethod list elements must be unique</assert>&#13;
&#13;
<assert test='(some $algo in @cscfAkaAlgorithmEntry satisfies substring-after($algo, ":") eq "hmac-md5-96,aes-cbc:enabled" or substring-after($algo, ":") eq "hmac-md5-96,aes-cbc:disabled") and (some $algo in @cscfAkaAlgorithmEntry satisfies substring-after($algo, ":") eq "hmac-sha-1-96,aes-cbc:enabled" or substring-after($algo, ":") eq "hmac-sha-1-96,aes-cbc:disabled") and (some $algo in @cscfAkaAlgorithmEntry satisfies substring-after($algo, ":") eq "hmac-md5-96,des-ede3-cbc:enabled" or substring-after($algo, ":") eq "hmac-md5-96,des-ede3-cbc:disabled") and (some $algo in @cscfAkaAlgorithmEntry satisfies substring-after($algo, ":") eq "hmac-sha-1-96,des-ede3-cbc:enabled" or substring-after($algo, ":") eq "hmac-sha-1-96,des-ede3-cbc:disabled") and (some $algo in @cscfAkaAlgorithmEntry satisfies substring-after($algo, ":") eq "hmac-md5-96,null:enabled" or substring-after($algo, ":") eq "hmac-md5-96,null:disabled") and (some $algo in @cscfAkaAlgorithmEntry satisfies substring-after($algo, ":") eq "hmac-sha-1-96,null:enabled" or substring-after($algo, ":") eq "hmac-sha-1-96,null:disabled")'> [Rule CSCF91] Every cscfAkaAlgorithmEntry must follow the syntax "prionr:alg,enc-alg:enabled/disabled", and the algorithm pair must be valid</assert>&#13;
&#13;
<assert test='every $algo in @cscfAkaAlgorithmEntry satisfies count(@cscfAkaAlgorithmEntry[substring-before(., ":") eq substring-before($algo, ":")]) eq 1'> [Rule CSCF92] Duplicated prio numbers not allowed</assert>&#13;
&#13;
<assert test='every $algo in @cscfAkaAlgorithmEntry satisfies count(@cscfAkaAlgorithmEntry[substring-before(substring-after(.,":"), ":") eq substring-before(substring-after($algo,":"), ":")]) eq 1'> [Rule CSCF93] Duplicated algorithm pairs not allowed</assert>&#13;
&#13;

</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test=' (@cscfSessionRefreshMin le @cscfSessionRefreshDefault) and (@cscfSessionRefreshDefault le @cscfSessionRefreshMax)'>[Rule CSCF3] cscfSessionRefreshMin must be less than equal to cscfSessionRefreshDefault and cscfSessionRefreshDefault must be less than equal to cscfSessionRefreshMax</assert>

<assert test=' ((@cscfEnableGlobalNumberNormalization) and (@cscfGlobalNumberNormalizationPhoneContext ne "")) or not(@cscfEnableGlobalNumberNormalization)'>[Rule CSCF4] cscfGlobalNumberNormalizationPhoneContext must be configured before enabling cscfEnableGlobalNumberNormalization</assert>

<assert test='are-distinct-values(@cscfActiveUserMethod)'>[Rule CSCF5] cscfActiveUserMethod list elements must be unique</assert>

<assert test='(some $algo in @cscfAkaAlgorithmEntry satisfies substring-after($algo, ":") eq "hmac-md5-96,aes-cbc:enabled" or substring-after($algo, ":") eq "hmac-md5-96,aes-cbc:disabled") and (some $algo in @cscfAkaAlgorithmEntry satisfies substring-after($algo, ":") eq "hmac-sha-1-96,aes-cbc:enabled" or substring-after($algo, ":") eq "hmac-sha-1-96,aes-cbc:disabled") and (some $algo in @cscfAkaAlgorithmEntry satisfies substring-after($algo, ":") eq "hmac-md5-96,des-ede3-cbc:enabled" or substring-after($algo, ":") eq "hmac-md5-96,des-ede3-cbc:disabled") and (some $algo in @cscfAkaAlgorithmEntry satisfies substring-after($algo, ":") eq "hmac-sha-1-96,des-ede3-cbc:enabled" or substring-after($algo, ":") eq "hmac-sha-1-96,des-ede3-cbc:disabled") and (some $algo in @cscfAkaAlgorithmEntry satisfies substring-after($algo, ":") eq "hmac-md5-96,null:enabled" or substring-after($algo, ":") eq "hmac-md5-96,null:disabled") and (some $algo in @cscfAkaAlgorithmEntry satisfies substring-after($algo, ":") eq "hmac-sha-1-96,null:enabled" or substring-after($algo, ":") eq "hmac-sha-1-96,null:disabled")'> [Rule CSCF91] Every cscfAkaAlgorithmEntry must follow the syntax "prionr:alg,enc-alg:enabled/disabled", and the algorithm pair must be valid</assert>

<assert test='every $algo in @cscfAkaAlgorithmEntry satisfies count(@cscfAkaAlgorithmEntry[substring-before(., ":") eq substring-before($algo, ":")]) eq 1'> [Rule CSCF92] Duplicated prio numbers not allowed</assert>

<assert test='every $algo in @cscfAkaAlgorithmEntry satisfies count(@cscfAkaAlgorithmEntry[substring-before(substring-after(.,":"), ":") eq substring-before(substring-after($algo,":"), ":")]) eq 1'> [Rule CSCF93] Duplicated algorithm pairs not allowed</assert>


</rule>
</pattern>
</schema>

class CscfAuthenticationClass
validationRules
rule AuthenticationConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test=' ((((@cscfSSOAuthenticationEnabled = true()) and (string-length(@scscfSipDigestAuthenticationRealm) eq 0)) or (not(@cscfSSOAuthenticationEnabled = true())))) and ((((@scscfGibaAuthenticationEnabled = true()) and (string-length(@scscfSipDigestAuthenticationRealm) eq 0)) or (not(@scscfGibaAuthenticationEnabled = true()))))'>[Rule CSCF6] Before setting attribute scscfGibaAuthenticationEnabled or cscfSSOAuthenticationEnabled to true attribute scscfSipDigestAuthenticationRealm must be empty OR for attribute cscfSipDigestAuthenticationRealm to be set, attribute cscfGibaAuthenticationEnabled and cscfSSOAuthenticationEnabled must be false</assert>&#13;
&#13;
<assert test='("Re-Registration:enabled" = @cscfAuthenticationPolicyEntry or "Re-Registration:disabled" = @cscfAuthenticationPolicyEntry ) and&#13;
("User Initiated De-Registration:enabled" = @cscfAuthenticationPolicyEntry or "User Initiated De-Registration:disabled" = @cscfAuthenticationPolicyEntry ) and&#13;
("INVITE:enabled" = @cscfAuthenticationPolicyEntry or "INVITE:disabled" = @cscfAuthenticationPolicyEntry ) and&#13;
("BYE:enabled" = @cscfAuthenticationPolicyEntry or "BYE:disabled" = @cscfAuthenticationPolicyEntry ) and&#13;
("MESSAGE:enabled" = @cscfAuthenticationPolicyEntry or "MESSAGE:disabled" = @cscfAuthenticationPolicyEntry ) and&#13;
("SUBSCRIBE:enabled" = @cscfAuthenticationPolicyEntry or "SUBSCRIBE:disabled" = @cscfAuthenticationPolicyEntry ) and&#13;
("NOTIFY:enabled" = @cscfAuthenticationPolicyEntry or "NOTIFY:disabled" = @cscfAuthenticationPolicyEntry )'>[Rule CSCF90] cscfAuthenticationPolicyEntry must contain at least the seven predetermined entries, and must be on the format "method:policy" or "registration_type:policy"</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test=' ((((@cscfSSOAuthenticationEnabled = true()) and (string-length(@scscfSipDigestAuthenticationRealm) eq 0)) or (not(@cscfSSOAuthenticationEnabled = true())))) and ((((@scscfGibaAuthenticationEnabled = true()) and (string-length(@scscfSipDigestAuthenticationRealm) eq 0)) or (not(@scscfGibaAuthenticationEnabled = true()))))'>[Rule CSCF6] Before setting attribute scscfGibaAuthenticationEnabled or cscfSSOAuthenticationEnabled to true attribute scscfSipDigestAuthenticationRealm must be empty OR for attribute cscfSipDigestAuthenticationRealm to be set, attribute cscfGibaAuthenticationEnabled and cscfSSOAuthenticationEnabled must be false</assert>

<assert test='("Re-Registration:enabled" = @cscfAuthenticationPolicyEntry or "Re-Registration:disabled" = @cscfAuthenticationPolicyEntry ) and
("User Initiated De-Registration:enabled" = @cscfAuthenticationPolicyEntry or "User Initiated De-Registration:disabled" = @cscfAuthenticationPolicyEntry ) and
("INVITE:enabled" = @cscfAuthenticationPolicyEntry or "INVITE:disabled" = @cscfAuthenticationPolicyEntry ) and
("BYE:enabled" = @cscfAuthenticationPolicyEntry or "BYE:disabled" = @cscfAuthenticationPolicyEntry ) and
("MESSAGE:enabled" = @cscfAuthenticationPolicyEntry or "MESSAGE:disabled" = @cscfAuthenticationPolicyEntry ) and
("SUBSCRIBE:enabled" = @cscfAuthenticationPolicyEntry or "SUBSCRIBE:disabled" = @cscfAuthenticationPolicyEntry ) and
("NOTIFY:enabled" = @cscfAuthenticationPolicyEntry or "NOTIFY:disabled" = @cscfAuthenticationPolicyEntry )'>[Rule CSCF90] cscfAuthenticationPolicyEntry must contain at least the seven predetermined entries, and must be on the format "method:policy" or "registration_type:policy"</assert>
</rule>
</pattern>
</schema>

class CscfConfigProfileMappingTableClass
validationRules
rule ProfileConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='every $mte in @cscfConfigProfileMappingTableEntry satisfies substring-after($mte,":") = ../../CscfProfileGroupClass[@cscfProfileGroup eq "0"]/CscfProfileClass/@cscfProfile'> [Rule CSCF7]The value of cscfConfigProfileMappingTableEntry must equal the name of a CscfProfileClass instance</assert>
<assert test='every $m in @cscfConfigProfileMappingTableEntry satisfies count(@cscfConfigProfileMappingTableEntry[substring-before($m, ":") eq substring-before(., ":")] )eq 1'> [Rule CSCF8]The value of cscfConfigProfileMappingTableEntry=AccessType:CscfProfile Access Type part of the attribute cscfConfigProfileMappingTableEntry must be set to unique value</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='every $mte in @cscfConfigProfileMappingTableEntry satisfies substring-after($mte,":") = ../../CscfProfileGroupClass[@cscfProfileGroup eq "0"]/CscfProfileClass/@cscfProfile'> [Rule CSCF7]The value of cscfConfigProfileMappingTableEntry must equal the name of a CscfProfileClass instance</assert>
<assert test='every $m in @cscfConfigProfileMappingTableEntry satisfies count(@cscfConfigProfileMappingTableEntry[substring-before($m, ":") eq substring-before(., ":")] )eq 1'> [Rule CSCF8]The value of cscfConfigProfileMappingTableEntry=AccessType:CscfProfile Access Type part of the attribute cscfConfigProfileMappingTableEntry must be set to unique value</assert>
</rule>
</pattern>
</schema>

class CscfDomainRoutingMatchingTableEntry
validationRules
rule CdrMatchingTableEntryResultContraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>
<assert test='@cscfDomainRoutingMatchingTableEntryResult = ../../../../CscfDomainRoutingConfiguration[@cscfDomainRoutingConfigurationId eq "default"]/CscfDomainRoutingResultTable[@cscfDomainRoutingResultTableId eq "0"]/CscfDomainRoutingResultTableEntry/@cscfDomainRoutingResultTableEntryId'> Attribute cscfDomainRoutingMatchingTableEntryResult value must match the value of attribute cscfDomainRoutingTableEntryId </assert>
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='@cscfDomainRoutingMatchingTableEntryResult = ../../../../CscfDomainRoutingConfiguration[@cscfDomainRoutingConfigurationId eq "default"]/CscfDomainRoutingResultTable[@cscfDomainRoutingResultTableId eq "0"]/CscfDomainRoutingResultTableEntry/@cscfDomainRoutingResultTableEntryId'> Attribute cscfDomainRoutingMatchingTableEntryResult value must match the value of attribute cscfDomainRoutingTableEntryId </assert>
</rule>
</pattern>
</schema>

class CscfEmergencyClass
validationRules
rule EmergencyConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>
<assert test='(not(@ecscfEmergencyLRFAddress) or (@ecscfEmergencyLRFAddress and @ecscfHttpLocalAddress and @ecscfMlInterface eq "http")) or (@ecscfMlInterface eq "sip")'>[Rule CSCF9] ecscfHttpLocalAddress must be defined before ecscfEmergencyLRFAddress can be set</assert>
<assert test='not(@cscfEmergencyCallFailureDestination) or (@cscfEmergencyCallFailureDestination and @cscfEmergencyCallFailureRoute)'>[Rule CSCF10] cscfEmergencyCallFailureRoutemust be defined before cscfEmergencyCallFailureDestination can be set</assert>
<assert test='(@ecscfMlInterface ne "sip" and not(@ecscfDialogEventEnabled)) or @ecscfMlInterface eq "sip"'>[Rule CSCF11] ecscfDialogEventEnabled can't be set to true if ecscfMlInterface is not set to sip</assert>
<assert test='(every $m in @scscfContactTrunkGroupAndContext satisfies count(@scscfContactTrunkGroupAndContext[substring-before($m, ":") eq substring-before(., ":")]) eq 1)'>[Rule CSCF12] Multiple entries with the same esrn is not allowed in scscfContactTrunkGroupAndContext</assert>
<assert test='(matches(@ecscfEmergencyLRFAddress, "\[.*") and @ecscfMlInterface eq "sip") or (not (matches(@ecscfEmergencyLRFAddress, "\[.*")))'>[Rule CSCF94] ecscfMlInterface must be set to sip in case ecscfEmergencyLRFAddress is set to IPV6 address</assert>
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='(not(@ecscfEmergencyLRFAddress) or (@ecscfEmergencyLRFAddress and @ecscfHttpLocalAddress and @ecscfMlInterface eq "http")) or (@ecscfMlInterface eq "sip")'>[Rule CSCF9] ecscfHttpLocalAddress must be defined before ecscfEmergencyLRFAddress can be set</assert>
<assert test='not(@cscfEmergencyCallFailureDestination) or (@cscfEmergencyCallFailureDestination and @cscfEmergencyCallFailureRoute)'>[Rule CSCF10] cscfEmergencyCallFailureRoutemust be defined before cscfEmergencyCallFailureDestination can be set</assert>
<assert test='(@ecscfMlInterface ne "sip" and not(@ecscfDialogEventEnabled)) or @ecscfMlInterface eq "sip"'>[Rule CSCF11] ecscfDialogEventEnabled can't be set to true if ecscfMlInterface is not set to sip</assert>
<assert test='(every $m in @scscfContactTrunkGroupAndContext satisfies count(@scscfContactTrunkGroupAndContext[substring-before($m, ":") eq substring-before(., ":")]) eq 1)'>[Rule CSCF12] Multiple entries with the same esrn is not allowed in scscfContactTrunkGroupAndContext</assert>
<assert test='(matches(@ecscfEmergencyLRFAddress, "\[.*") and @ecscfMlInterface eq "sip") or (not (matches(@ecscfEmergencyLRFAddress, "\[.*")))'>[Rule CSCF94] ecscfMlInterface must be set to sip in case ecscfEmergencyLRFAddress is set to IPV6 address</assert>
</rule>
</pattern>
</schema>
attribute ecscfNonRegAssertedCallerIdentity
description
  This attribute defines a regular expression to be applied on the value of P-Preferred-Identity received received, to retrieve and compose an asserted identity for a non-registered caller. caller.

Format: The format contains three parts, using "/" as separator: /[regex]/[string]/(i), /<regex>/<string>/[i], example "/^.+([0-9]{7})@.+$/911\1/(i)" Where "/^.+([0-9]{7})@.+$/911\1/i" where [regex] specifies the matching rule to be applied on the P-Preferred-Identity value, and [string] specifies the modification rule of the matched value. The optional "i" specifies that makes the matching shall ignore case. case insensitive. An omitted "i" makes the matching case sensitive. The configured value must pass the syntax validation before it can be accepted by E-CSCF.

class CscfEosCaseTableEntry
validationRules
rule CscfEos_RouteTable_MatchProfile_EntryExist
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='(@cscfEosCaseRouteName = ../../CscfEosRouteTable[@cscfEosRouteTableId eq "0"]/CscfEosRouteTableEntry/@cscfEosRouteTableEntryId)'>[Rule EOS1] cscfEosRouteTableEntry does not exist or Failed to delete cscfEosRouteTableEntry</assert>
<assert test='(@cscfEosCaseMatchProfileName = ../../CscfEosMatchProfileTable[@cscfEosMatchProfileTableId eq "0"]/CscfEosMatchProfileTableEntry/@cscfEosMatchProfileTableEntryId)'>[Rule EOS2] cscfEosMatchProfileTableEntry does not exist or Failed to delete cscfEosMatchProfileTableEntry</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='((@cscfEosCaseRouteName = ../../CscfEosRouteTable[@cscfEosRouteTableId eq "0"]/CscfEosRouteTableEntry/@cscfEosRouteTableEntryId) or (@cscfEosCaseRouteName = "exit") or (@cscfEosCaseRouteName = "enum"))'>[Rule EOS1] cscfEosRouteTableEntry does not exist or Failed to delete cscfEosRouteTableEntry</assert>
<assert test='(@cscfEosCaseMatchProfileName = ../../CscfEosMatchProfileTable[@cscfEosMatchProfileTableId eq "0"]/CscfEosMatchProfileTableEntry/@cscfEosMatchProfileTableEntryId)'>[Rule EOS2] cscfEosMatchProfileTableEntry does not exist or Failed to delete cscfEosMatchProfileTableEntry</assert>
</rule>
</pattern>
</schema>

class CscfFaultIsolationClass
validationRules
rule CscfFaultIsolationConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='not(exists(@cscfFaultIsolationSipErrorCode)) or (every $entry in @cscfFaultIsolationSipErrorCode satisfies ( string-length($entry)=3 or (string-length($entry)=7 and (substring-before($entry,"-") lt substring-after($entry,"-")) )))'>[Rule CSCF90] The right value of a range should be higher than the one on the left.</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='not(exists(@cscfFaultIsolationSipErrorCode)) or (every $entry in @cscfFaultIsolationSipErrorCode satisfies ( string-length($entry)=3 or (string-length($entry)=7 and (substring-before($entry,"-") lt substring-after($entry,"-")) )))'>[Rule CSCF90] The right value of a range should be higher than the one on the left.</assert>
</rule>
</pattern>
</schema>

class CscfFunction
attribute userLabel
dataType
string
old:  
new:  
defaultValue

class CscfGenericNumberPortability
validationRules
rule CscfApplicationConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='(not (scscfNpQueryOnReleaseEnabled = true() and not(cscfGenericNumberPortabilityEnabled = true())))'>[Rule CSCF100] The combination of CscfGenericNumberPortabilityEnabled set to false and ScscfNpQueryOnReleaseEnabled set to true is not allowed.</assert>
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='(not (scscfNpQueryOnReleaseEnabled = true() and not(cscfGenericNumberPortabilityEnabled = true())))'>[Rule CSCF100] The combination of CscfGenericNumberPortabilityEnabled set to false and ScscfNpQueryOnReleaseEnabled set to true is not allowed.</assert>
</rule>
</pattern>
</schema>

class CscfMediaAuthorizationPolicyContainer
validationRules
rule MediaConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='not(@cscfPayloadBlackWhiteListName) or (@cscfPayloadBlackWhiteListName = ../CscfPayloadBlackWhiteListsContainer[@cscfPayloadBlackWhiteLists eq "0"]/CscfPayloadBlackWhiteListClass/@cscfPayloadBlackWhiteList)'>[Rule CSCF13] The value of cscfPayloadBlackWhiteListName must equal the name of a CscfPayloadBlackWhiteListClass instance</assert>&#13;
<assert test='not(@cscfMaxMediaFlowTableName) or (@cscfMaxMediaFlowTableName = ../CscfMaxMediaFlowTablesContainer[@cscfMaxMediaFlowTables eq "0"]/CscfMaxMediaFlowTableClass/@cscfMaxMediaFlowTable)'>[Rule CSCF14] The value of cscfMaxMediaFlowTableName must equal the name of a CscfMaxMediaFlowTableClass instance</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='not(@cscfPayloadBlackWhiteListName) or (@cscfPayloadBlackWhiteListName = ../CscfPayloadBlackWhiteListsContainer[@cscfPayloadBlackWhiteLists eq "0"]/CscfPayloadBlackWhiteListClass/@cscfPayloadBlackWhiteList)'>[Rule CSCF13] The value of cscfPayloadBlackWhiteListName must equal the name of a CscfPayloadBlackWhiteListClass instance</assert>
<assert test='not(@cscfMaxMediaFlowTableName) or (@cscfMaxMediaFlowTableName = ../CscfMaxMediaFlowTablesContainer[@cscfMaxMediaFlowTables eq "0"]/CscfMaxMediaFlowTableClass/@cscfMaxMediaFlowTable)'>[Rule CSCF14] The value of cscfMaxMediaFlowTableName must equal the name of a CscfMaxMediaFlowTableClass instance</assert>
</rule>
</pattern>
</schema>

class CscfMonitoredInterfaceClass
attribute cscfProactiveMonitoringInterval
attribute cscfSipMonitoringSuppressDestinationEntry
attribute CscfSipMonitoringSuppressDestinationEntry

class CscfNumPortability
validationRules
rule cscfGenericNumberPortabilityConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test=' (((@cscfNumPortabilityEnable = true()) and (not(../CscfGenericNumberPortability[@cscfGenericNumberPortabilityKey eq "0"]/@cscfGenericNumberPortabilityEnabled = true()))) or (not(@cscfNumPortabilityEnable = true()))) or (((not(@cscfNumPortabilityEnable = true())) and (../CscfGenericNumberPortability[@cscfGenericNumberPortabilityKey eq "0"]/@cscfGenericNumberPortabilityEnabled = true())) or (not(../CscfGenericNumberPortability[@cscfGenericNumberPortabilityKey eq "0"]/@cscfGenericNumberPortabilityEnabled = true())))'>[Rule CSCF15] Cannot set both cscfGenericNumPortabilityEnable and cscfNumPortabilityEnable to true, one of them should be false</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test=' (((@cscfNumPortabilityEnable = true()) and (not(../CscfGenericNumberPortability[@cscfGenericNumberPortabilityKey eq "0"]/@cscfGenericNumberPortabilityEnabled = true()))) or (not(@cscfNumPortabilityEnable = true()))) or (((not(@cscfNumPortabilityEnable = true())) and (../CscfGenericNumberPortability[@cscfGenericNumberPortabilityKey eq "0"]/@cscfGenericNumberPortabilityEnabled = true())) or (not(../CscfGenericNumberPortability[@cscfGenericNumberPortabilityKey eq "0"]/@cscfGenericNumberPortabilityEnabled = true())))'>[Rule CSCF15] Cannot set both cscfGenericNumPortabilityEnable and cscfNumPortabilityEnable to true, one of them should be false</assert>
</rule>
</pattern>
</schema>

class CscfOperatorAllocatedNumberRangeListClass
validationRules
rule CscfOperatorAllocatedNumberRangeEntryConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='are-distinct-values(@cscfOperatorAllocatedNumberRangeEntry)'>[Rule CSCF76] cscfOperatorAllocatedNumberRangeEntry list elements must be unique</assert>
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='are-distinct-values(@cscfOperatorAllocatedNumberRangeEntry)'>[Rule CSCF76] cscfOperatorAllocatedNumberRangeEntry list elements must be unique</assert>
</rule>
</pattern>
</schema>

class CscfProfileClass
validationRules
rule PolicyConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='@cscfAuthenticationPolicy = ../../CscfAuthenticationGroupClass[@cscfAuthenticationGroup eq "0"]/CscfAuthenticationClass/@cscfAuthentication'>[Rule CSCF16] The value of cscfAuthenticationPolicy must equal the name of a CscfAuthenticationClass instance</assert>&#13;
<assert test='@cscfRegistrationPolicy = ../../CscfRegistrationGroupClass[@cscfRegistrationGroup eq "0"]/CscfRegistrationClass/@cscfRegistration'>[Rule CSCF17] The value of cscfRegistrationPolicy must equal the name of a CscfRegistrationClass instance</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='@cscfAuthenticationPolicy = ../../CscfAuthenticationGroupClass[@cscfAuthenticationGroup eq "0"]/CscfAuthenticationClass/@cscfAuthentication'>[Rule CSCF16] The value of cscfAuthenticationPolicy must equal the name of a CscfAuthenticationClass instance</assert>
<assert test='@cscfRegistrationPolicy = ../../CscfRegistrationGroupClass[@cscfRegistrationGroup eq "0"]/CscfRegistrationClass/@cscfRegistration'>[Rule CSCF17] The value of cscfRegistrationPolicy must equal the name of a CscfRegistrationClass instance</assert>
</rule>
</pattern>
</schema>

class CscfRegistrationClass
validationRules
rule CscfRegistrationRefreshConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test=' (number(@cscfRegistrationRefreshMin) le number(@cscfRegistrationRefreshDefault)) and (number(@cscfRegistrationRefreshDefault) le number(@cscfRegistrationRefreshMax))'>[Rule CSCF18] cscfRegistrationRefreshMin must be less than equal to cscfRegistrationRefreshDefault and cscfRegistrationRefreshDefault must be less than equal to cscfRegistrationRefreshMax</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test=' (number(@cscfRegistrationRefreshMin) le number(@cscfRegistrationRefreshDefault)) and (number(@cscfRegistrationRefreshDefault) le number(@cscfRegistrationRefreshMax))'>[Rule CSCF18] cscfRegistrationRefreshMin must be less than equal to cscfRegistrationRefreshDefault and cscfRegistrationRefreshDefault must be less than equal to cscfRegistrationRefreshMax</assert>
</rule>
</pattern>
</schema>

class CscfSipOverloadControl
attribute cscfSipOverloadControlReactingTrafficPriorities
dataType
derivedDataTypeRef CscfSipOverloadControlReactingTrafficPrioritiesDT
defaultValue
old:  0:Emergency,RphWps0,RphWps1,RphWps2,Inside;1:Default
new:  0:RphWps0,RphWps1;1:RphWps2,RphWps3;2:RphWps4;3:Emergency;6:Inside;15:Default

class CscfSipProtocolClass
validationRules
rule CscfSip500RetryAfterConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test=' (number(@cscfSip500RetryAfterMin) le number(@cscfSip500RetryAfterMax))'>[Rule CSCF19] cscfSip500RetryAfterMin must be less than equal to cscfSip500RetryAfterMax</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test=' (number(@cscfSip500RetryAfterMin) le number(@cscfSip500RetryAfterMax))'>[Rule CSCF19] cscfSip500RetryAfterMin must be less than equal to cscfSip500RetryAfterMax</assert>
</rule>
</pattern>
</schema>

class CscfSmpAuthorizationPolicyEntry
validationRules
rule PayloadConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='not(@cscfSmpPayloadBlackWhiteListName) or (@cscfSmpPayloadBlackWhiteListName = ../../../CscfMediaContainer[@cscfMedia eq "0"]/CscfPayloadBlackWhiteListsContainer[@cscfPayloadBlackWhiteLists eq "0"]/CscfPayloadBlackWhiteListClass/@cscfPayloadBlackWhiteList)'>[Rule CSCF20] The value of cscfSmpPayloadBlackWhiteListName must equal the name of a CscfPayloadBlackWhiteListClass instance</assert>&#13;
<assert test='not(@cscfSmpMaxMediaFlowTableName) or (@cscfSmpMaxMediaFlowTableName = ../../../CscfMediaContainer[@cscfMedia eq "0"]/CscfMaxMediaFlowTablesContainer[@cscfMaxMediaFlowTables eq "0"]/CscfMaxMediaFlowTableClass/@cscfMaxMediaFlowTable)'>[Rule CSCF21] The value of cscfSmpMaxMediaFlowTableName must equal the name of a CscfMaxMediaFlowTableClass instance</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='not(@cscfSmpPayloadBlackWhiteListName) or (@cscfSmpPayloadBlackWhiteListName = ../../../CscfMediaContainer[@cscfMedia eq "0"]/CscfPayloadBlackWhiteListsContainer[@cscfPayloadBlackWhiteLists eq "0"]/CscfPayloadBlackWhiteListClass/@cscfPayloadBlackWhiteList)'>[Rule CSCF20] The value of cscfSmpPayloadBlackWhiteListName must equal the name of a CscfPayloadBlackWhiteListClass instance</assert>
<assert test='not(@cscfSmpMaxMediaFlowTableName) or (@cscfSmpMaxMediaFlowTableName = ../../../CscfMediaContainer[@cscfMedia eq "0"]/CscfMaxMediaFlowTablesContainer[@cscfMaxMediaFlowTables eq "0"]/CscfMaxMediaFlowTableClass/@cscfMaxMediaFlowTable)'>[Rule CSCF21] The value of cscfSmpMaxMediaFlowTableName must equal the name of a CscfMaxMediaFlowTableClass instance</assert>
</rule>
</pattern>
</schema>

class CscfThrottledInterface
validationRules
rule CscfThrottlingThresholdConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test=' (number(@cscfLowerThrottlingThreshold) lt number(@cscfUpperThrottlingThreshold))'>[Rule CSCF22] cscfLowerThrottlingThreshold must be less than cscfUpperThrottlingThreshold</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test=' (number(@cscfLowerThrottlingThreshold) lt number(@cscfUpperThrottlingThreshold))'>[Rule CSCF22] cscfLowerThrottlingThreshold must be less than cscfUpperThrottlingThreshold</assert>
</rule>
</pattern>
</schema>

class CscfUaRestriction
validationRules
rule UserAgentConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='(matches(@cscfUserAgentRestrictionEnable, "TRUE|true") and count(@cscfUserAgentWhiteList) ge 1) or (matches(@cscfUserAgentRestrictionEnable, "FALSE|false"))'>[Rule CSCF23] cscfUserAgentWhiteList must be configured before setting cscfUserAgentRestrictionEnable to true</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='(matches(@cscfUserAgentRestrictionEnable, "TRUE|true") and count(@cscfUserAgentWhiteList) ge 1) or (matches(@cscfUserAgentRestrictionEnable, "FALSE|false"))'>[Rule CSCF23] cscfUserAgentWhiteList must be configured before setting cscfUserAgentRestrictionEnable to true</assert>
</rule>
</pattern>
</schema>

class CscfUnallocatedRoutingContainer
validationRules
rule CscfUnallocatedRoutingEnabledConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>
<assert test=' ((../@cscfUnallocatedRoutingEnabled = true()) and (@cscfUnallocatedPublicServiceIdentity ne "")) or not(../@cscfUnallocatedRoutingEnabled = true())'>[Rule CSCF24] Parameter cscfUnallocatedPublicServiceIdentity must be configured before cscfUnallocatedRoutingEnabled can be set to true</assert>
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test=' ((../@cscfUnallocatedRoutingEnabled = true()) and (@cscfUnallocatedPublicServiceIdentity ne "")) or not(../@cscfUnallocatedRoutingEnabled = true())'>[Rule CSCF24] Parameter cscfUnallocatedPublicServiceIdentity must be configured before cscfUnallocatedRoutingEnabled can be set to true</assert>
</rule>
</pattern>
</schema>

class EatfNetworkInterfaceEntry
validationRules
rule EatfConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='@eatfNetworkInterfaceEntryId and (../../../CscfSystemConfigGroupClass[@cscfSystemConfigGroup eq "0"]/CscfSystemConfigClass[@cscfSystemConfig eq "default"]/@eatfEnabled)'>[Rule CSCF25] eatfEnabled must be true before creating an EatfNetworkInterfaceEntry instance</assert>&#13;
<assert test='@eatfNetworkInterfaceEntryId and (count (../../../CscfRoutingGroupClass[@cscfRoutingGroup eq "0"]/CscfRoutingClass[@cscfRouting eq "default"]/@eatfDomainNameEntry) ge 1)'>[Rule CSCF26] eatfDomainNameEntry must contain at least one entry before creating an EatfNetworkInterfaceEntry instance</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='@eatfNetworkInterfaceEntryId and (../../../CscfSystemConfigGroupClass[@cscfSystemConfigGroup eq "0"]/CscfSystemConfigClass[@cscfSystemConfig eq "default"]/@eatfEnabled)'>[Rule CSCF25] eatfEnabled must be true before creating an EatfNetworkInterfaceEntry instance</assert>
<assert test='@eatfNetworkInterfaceEntryId and (count (../../../CscfRoutingGroupClass[@cscfRoutingGroup eq "0"]/CscfRoutingClass[@cscfRouting eq "default"]/@eatfDomainNameEntry) ge 1)'>[Rule CSCF26] eatfDomainNameEntry must contain at least one entry before creating an EatfNetworkInterfaceEntry instance</assert>
</rule>
</pattern>
</schema>

class EatfNwIfContainer
validationRules
rule ProtocolConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='count(EatfNetworkInterfaceEntry[matches(@eatfNetworkInterfaceEntryId, "UDP:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")]) le 1'>[Rule CSCF27] Maximum number of EatfNetworkInterfaceEntry instances for this protocol are already configured for IPv4</assert>
<assert test='count(EatfNetworkInterfaceEntry[not(matches(@eatfNetworkInterfaceEntryId, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")) and matches(@eatfNetworkInterfaceEntryId, "UDP.*")]) le 1'>[Rule CSCF28] Maximum number of EatfNetworkInterfaceEntry instances for this protocol are already configured for IPv6</assert>
<assert test='count(EatfNetworkInterfaceEntry[matches(@eatfNetworkInterfaceEntryId, "TCP:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")]) le 1'>[Rule CSCF29] Maximum number of EatfNetworkInterfaceEntry instances for this protocol are already configured for IPv4</assert>
<assert test='count(EatfNetworkInterfaceEntry[not(matches(@eatfNetworkInterfaceEntryId, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")) and matches(@eatfNetworkInterfaceEntryId, "TCP.*")]) le 1'>[Rule CSCF30] Maximum number of EatfNetworkInterfaceEntry instances for this protocol are already configured for IPv6</assert>
<assert test='count(EatfNetworkInterfaceEntry[not(matches(@eatfNetworkInterfaceEntryId, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}"))]) eq 0 or (../../CscfRoutingGroupClass[cscfRoutingGroup eq "0"]/CscfRoutingClass[cscfRouting eq "default"]/@cscfHostportAsFqdnOnly)'>[Rule CSCF98] Eatf IPv6 interfaces are only allowed when cscfHostportAsFqdnOnly = true</assert>
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='count(EatfNetworkInterfaceEntry[matches(@eatfNetworkInterfaceEntryId, "UDP:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")]) le 1'>[Rule CSCF27] Maximum number of EatfNetworkInterfaceEntry instances for this protocol are already configured for IPv4</assert>
<assert test='count(EatfNetworkInterfaceEntry[not(matches(@eatfNetworkInterfaceEntryId, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")) and matches(@eatfNetworkInterfaceEntryId, "UDP.*")]) le 1'>[Rule CSCF28] Maximum number of EatfNetworkInterfaceEntry instances for this protocol are already configured for IPv6</assert>
<assert test='count(EatfNetworkInterfaceEntry[matches(@eatfNetworkInterfaceEntryId, "TCP:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")]) le 1'>[Rule CSCF29] Maximum number of EatfNetworkInterfaceEntry instances for this protocol are already configured for IPv4</assert>
<assert test='count(EatfNetworkInterfaceEntry[not(matches(@eatfNetworkInterfaceEntryId, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")) and matches(@eatfNetworkInterfaceEntryId, "TCP.*")]) le 1'>[Rule CSCF30] Maximum number of EatfNetworkInterfaceEntry instances for this protocol are already configured for IPv6</assert>
<assert test='count(EatfNetworkInterfaceEntry[not(matches(@eatfNetworkInterfaceEntryId, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}"))]) eq 0 or (../../CscfRoutingGroupClass[cscfRoutingGroup eq "0"]/CscfRoutingClass[cscfRouting eq "default"]/@cscfHostportAsFqdnOnly)'>[Rule CSCF98] Eatf IPv6 interfaces are only allowed when cscfHostportAsFqdnOnly = true</assert>
</rule>
</pattern>
</schema>

class EcscfChargingRequestUriTriggerClass
validationRules
rule ParentNameConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='(substring-before(@ecscfChargingRequestUriTrigger, ":") eq ../../@ecscfChargingTriggerName) and (substring-before(substring-after(@ecscfChargingRequestUriTrigger, ":"), ":")) eq substring-after(../@ecscfChargingTriggerGroup, ":")'>[Rule CSCF31] Wrong format of the EcscfChargingRequestUriTriggerClass: should be ParentKey:OwnKey</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='(substring-before(@ecscfChargingRequestUriTrigger, ":") eq ../../@ecscfChargingTriggerName) and (substring-before(substring-after(@ecscfChargingRequestUriTrigger, ":"), ":")) eq substring-after(../@ecscfChargingTriggerGroup, ":")'>[Rule CSCF31] Wrong format of the EcscfChargingRequestUriTriggerClass: should be ParentKey:OwnKey</assert>
</rule>
</pattern>
</schema>

class EcscfChargingSessionCaseTriggerClass
validationRules
rule ParentNameConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='(substring-before(@ecscfChargingSessionCaseTrigger, ":") eq ../../@ecscfChargingTriggerName) and (substring-before(substring-after(@ecscfChargingSessionCaseTrigger, ":"), ":")) eq substring-after(../@ecscfChargingTriggerGroup, ":")'>[Rule CSCF32] Wrong format of the EcscfChargingSessionCaseTriggerClass: should be ParentKey:OwnKey</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='(substring-before(@ecscfChargingSessionCaseTrigger, ":") eq ../../@ecscfChargingTriggerName) and (substring-before(substring-after(@ecscfChargingSessionCaseTrigger, ":"), ":")) eq substring-after(../@ecscfChargingTriggerGroup, ":")'>[Rule CSCF32] Wrong format of the EcscfChargingSessionCaseTriggerClass: should be ParentKey:OwnKey</assert>
</rule>
</pattern>
</schema>

class EcscfChargingSipHeaderTriggerClass
validationRules
rule ParentNameConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='(substring-before(@ecscfChargingSipHeaderTrigger, ":") eq ../../@ecscfChargingTriggerName) and (substring-before(substring-after(@ecscfChargingSipHeaderTrigger, ":"), ":")) eq substring-after(../@ecscfChargingTriggerGroup, ":")'>[Rule CSCF33] Wrong format of the EcscfChargingSipHeaderTriggerClass: should be ParentKey:OwnKey</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='(substring-before(@ecscfChargingSipHeaderTrigger, ":") eq ../../@ecscfChargingTriggerName) and (substring-before(substring-after(@ecscfChargingSipHeaderTrigger, ":"), ":")) eq substring-after(../@ecscfChargingTriggerGroup, ":")'>[Rule CSCF33] Wrong format of the EcscfChargingSipHeaderTriggerClass: should be ParentKey:OwnKey</assert>
</rule>
</pattern>
</schema>

class EcscfChargingSipMethodTriggerClass
validationRules
rule ParentNameConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='(substring-before(@ecscfChargingSipMethodTrigger, ":") eq ../../@ecscfChargingTriggerName) and (substring-before(substring-after(@ecscfChargingSipMethodTrigger, ":"), ":")) eq substring-after(../@ecscfChargingTriggerGroup, ":")'>[Rule CSCF34] Wrong format of the EcscfChargingSipMethodTriggerClass: should be ParentKey:OwnKey</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='(substring-before(@ecscfChargingSipMethodTrigger, ":") eq ../../@ecscfChargingTriggerName) and (substring-before(substring-after(@ecscfChargingSipMethodTrigger, ":"), ":")) eq substring-after(../@ecscfChargingTriggerGroup, ":")'>[Rule CSCF34] Wrong format of the EcscfChargingSipMethodTriggerClass: should be ParentKey:OwnKey</assert>
</rule>
</pattern>
</schema>

class EcscfChargingTransactionInfoClass
validationRules
rule EcscfChargingTransactionInfoConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='@ecscfChargingTransactionInfoId eq ../@ecscfChargingProfile'>[Rule CSCF35] The EcscfChargingTransactionInfo must have the same name as its parent</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='@ecscfChargingTransactionInfoId eq ../@ecscfChargingProfile'>[Rule CSCF35] The EcscfChargingTransactionInfo must have the same name as its parent</assert>
</rule>
</pattern>
</schema>

class EcscfChargingTriggerGroupClass
validationRules
rule ChargingTriggerConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='substring-before(@ecscfChargingTriggerGroup, ":") eq ../@ecscfChargingTriggerName'>[Rule CSCF36] Wrong format of the EcscfChargingTriggerGroup: should be ParentKey:OwnKey</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='substring-before(@ecscfChargingTriggerGroup, ":") eq ../@ecscfChargingTriggerName'>[Rule CSCF36] Wrong format of the EcscfChargingTriggerGroup: should be ParentKey:OwnKey</assert>
</rule>
</pattern>
</schema>

class EcscfChargingTriggerGroupsClass
validationRules
rule ChargingProfileConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='not(@ecscfChargingProfileName) or (@ecscfChargingProfileName = ../../EcscfChargingProfilesClass[@ecscfChargingProfiles eq "0"]/EcscfChargingProfileClass/@ecscfChargingProfile)'>[Rule CSCF37] The value of ecscfChargingProfileName must equal the name of an EcscfChargingProfileClass instance</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='not(@ecscfChargingProfileName) or (@ecscfChargingProfileName = ../../EcscfChargingProfilesClass[@ecscfChargingProfiles eq "0"]/EcscfChargingProfileClass/@ecscfChargingProfile)'>[Rule CSCF37] The value of ecscfChargingProfileName must equal the name of an EcscfChargingProfileClass instance</assert>
</rule>
</pattern>
</schema>

class EcscfChargingTriggersClass
validationRules
rule TriggerPriorityUniquenessConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='are-distinct-values(EcscfChargingTriggerGroupsClass/@ecscfChargingTriggerPriority)'>[Rule CSCF38] ecscfChargingTriggerPriority is not unique</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='are-distinct-values(EcscfChargingTriggerGroupsClass/@ecscfChargingTriggerPriority)'>[Rule CSCF38] ecscfChargingTriggerPriority is not unique</assert>
</rule>
</pattern>
</schema>

class EcscfNetworkInterface
validationRules
rule EmergencyConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='@ecscfNetworkInterfaceEntry and (../../../Ecscf[@ecscfKey eq "0"]/@ecscfEnabled)'>[Rule CSCF39] ecscfEnabled must be true before creating an EcscfNetworkInterface instance</assert>&#13;
<assert test='@ecscfNetworkInterfaceEntry and (count (../../../CscfEmergencyGroupClass[@cscfEmergencyGroup eq "0"]/CscfEmergencyClass[@cscfEmergency eq "default"]/@ecscfDomainNameEntry) ge 1)'>[Rule CSCF40] ecscfDomainNameEntry must contain at least one entry before creating an EcscfNetworkInterface instance</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='@ecscfNetworkInterfaceEntry and (../../../Ecscf[@ecscfKey eq "0"]/@ecscfEnabled)'>[Rule CSCF39] ecscfEnabled must be true before creating an EcscfNetworkInterface instance</assert>
<assert test='@ecscfNetworkInterfaceEntry and (count (../../../CscfEmergencyGroupClass[@cscfEmergencyGroup eq "0"]/CscfEmergencyClass[@cscfEmergency eq "default"]/@ecscfDomainNameEntry) ge 1)'>[Rule CSCF40] ecscfDomainNameEntry must contain at least one entry before creating an EcscfNetworkInterface instance</assert>
</rule>
</pattern>
</schema>

class EcscfNwIfs
validationRules
rule ProtocolConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='count(EcscfNetworkInterface[matches(@ecscfNetworkInterfaceEntry, "UDP:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,4}")]) le 1'>[Rule CSCF41] Maximum number of EcscfNetworkInterface instances for this protocol are already configured for IPv4</assert>
<assert test='count(EcscfNetworkInterface[not(matches(@ecscfNetworkInterfaceEntry, ".*:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,4}")) and matches(@ecscfNetworkInterfaceEntry, "UDP.*")]) le 1'>[Rule CSCF42] Maximum number of EcscfNetworkInterface instances for this protocol are already configured for IPv6</assert>
<assert test='count(EcscfNetworkInterface[matches(@ecscfNetworkInterfaceEntry, "TCP:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,4}")]) le 1'>[Rule CSCF43] Maximum number of EcscfNetworkInterface instances for this protocol are already configured for IPv4</assert>
<assert test='count(EcscfNetworkInterface[not(matches(@ecscfNetworkInterfaceEntry, ".*:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,4}")) and matches(@ecscfNetworkInterfaceEntry, "TCP.*")]) le 1'>[Rule CSCF44] Maximum number of EcscfNetworkInterface instances for this protocol are already configured for IPv6</assert>
<assert test='count(EcscfNetworkInterface[not(matches(@ecscfNetworkInterfaceEntry, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}"))]) eq 0 or (../../CscfRoutingGroupClass[cscfRoutingGroup eq "0"]/CscfRoutingClass[cscfRouting eq "default"]/@cscfHostportAsFqdnOnly)'>[Rule CSCF97] Ecscf IPv6 interfaces are only allowed when cscfHostportAsFqdnOnly = true</assert>
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='count(EcscfNetworkInterface[matches(@ecscfNetworkInterfaceEntry, "UDP:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,4}")]) le 1'>[Rule CSCF41] Maximum number of EcscfNetworkInterface instances for this protocol are already configured for IPv4</assert>
<assert test='count(EcscfNetworkInterface[not(matches(@ecscfNetworkInterfaceEntry, ".*:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,4}")) and matches(@ecscfNetworkInterfaceEntry, "UDP.*")]) le 1'>[Rule CSCF42] Maximum number of EcscfNetworkInterface instances for this protocol are already configured for IPv6</assert>
<assert test='count(EcscfNetworkInterface[matches(@ecscfNetworkInterfaceEntry, "TCP:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,4}")]) le 1'>[Rule CSCF43] Maximum number of EcscfNetworkInterface instances for this protocol are already configured for IPv4</assert>
<assert test='count(EcscfNetworkInterface[not(matches(@ecscfNetworkInterfaceEntry, ".*:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,4}")) and matches(@ecscfNetworkInterfaceEntry, "TCP.*")]) le 1'>[Rule CSCF44] Maximum number of EcscfNetworkInterface instances for this protocol are already configured for IPv6</assert>
<assert test='count(EcscfNetworkInterface[not(matches(@ecscfNetworkInterfaceEntry, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}"))]) eq 0 or (../../CscfRoutingGroupClass[cscfRoutingGroup eq "0"]/CscfRoutingClass[cscfRouting eq "default"]/@cscfHostportAsFqdnOnly)'>[Rule CSCF97] Ecscf IPv6 interfaces are only allowed when cscfHostportAsFqdnOnly = true</assert>
</rule>
</pattern>
</schema>

class EcscfOfflineChargingOmits
validationRules
rule EcscfOfflineChargingOmitsConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='@ecscfOfflineChargingOmitsId eq ../@ecscfOfflineChargingProfile'>[Rule CSCF84] EcscfOfflineChargingOmits must have the same name as its parent</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='@ecscfOfflineChargingOmitsId eq ../@ecscfOfflineChargingProfile'>[Rule CSCF84] EcscfOfflineChargingOmits must have the same name as its parent</assert>
</rule>
</pattern>
</schema>

class EcscfOfflineChargingOmitVendor
validationRules
rule EcscfOfflineChargingOmitVendorConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='substring-before(@ecscfOfflineChargingOmitVendorId, ":") eq ../@ecscfOfflineChargingOmitsId'>[Rule CSCF85] The EcscfOfflineChargingOmitVendor must have the same name as its parent, followed by :[0|193|10415]</assert>&#13;
<assert test='matches(substring-after(@ecscfOfflineChargingOmitVendorId, ":"),"0|193|10415")'>[Rule CSCF86] The EcscfOfflineChargingOmitVendor must have the same name as its parent, followed by :[0|193|10415]</assert>&#13;
<assert test='matches(substring-after(@ecscfOfflineChargingOmitVendorId, ":"), "193|10415") or (not(exists(@ecscfOfflineChargingOmitAVP)) or (every $avpcode in @ecscfOfflineChargingOmitAVP satisfies ($avpcode=55 or $avpcode=293 or $avpcode=461)))'>[Rule CSCF87] There is an invalid omittable AVP code for the vendor IETF in ECSCF</assert>&#13;
<assert test='matches(substring-after(@ecscfOfflineChargingOmitVendorId, ":"), "0|10415") or (not(exists(@ecscfOfflineChargingOmitAVP)) or (every $avpcode in @ecscfOfflineChargingOmitAVP satisfies ($avpcode=285 or $avpcode=284 or $avpcode=1264 or $avpcode=338 or $avpcode=340)))'>[Rule CSCF88] There is an invalid omittable AVP code for the vendor ERICSSON in ECSCF</assert>&#13;
<assert test='matches(substring-after(@ecscfOfflineChargingOmitVendorId, ":"), "0|193") or (not(exists(@ecscfOfflineChargingOmitAVP)) or (every $avpcode in @ecscfOfflineChargingOmitAVP satisfies ($avpcode=873 or $avpcode=876 or $avpcode=823 or $avpcode=829 or $avpcode=830 or $avpcode=831 or $avpcode=832 or $avpcode=1250 or $avpcode=1251 or $avpcode=833 or $avpcode=2301 or $avpcode=2302 or $avpcode=838 or $avpcode=841 or $avpcode=842 or $avpcode=843 or $avpcode=845 or $avpcode=848 or $avpcode=889 or $avpcode=861 or $avpcode=3401 or $avpcode=1263 or $avpcode=2711 or $avpcode=2712 or $avpcode=3402)))'>[Rule CSCF89] There is an invalid omittable AVP code for the vendor 3GPP in ECSCF</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='substring-before(@ecscfOfflineChargingOmitVendorId, ":") eq ../@ecscfOfflineChargingOmitsId'>[Rule CSCF85] The EcscfOfflineChargingOmitVendor must have the same name as its parent, followed by :[0|193|10415]</assert>
<assert test='matches(substring-after(@ecscfOfflineChargingOmitVendorId, ":"),"0|193|10415")'>[Rule CSCF86] The EcscfOfflineChargingOmitVendor must have the same name as its parent, followed by :[0|193|10415]</assert>
<assert test='matches(substring-after(@ecscfOfflineChargingOmitVendorId, ":"), "193|10415") or (not(exists(@ecscfOfflineChargingOmitAVP)) or (every $avpcode in @ecscfOfflineChargingOmitAVP satisfies ($avpcode=55 or $avpcode=293 or $avpcode=461)))'>[Rule CSCF87] There is an invalid omittable AVP code for the vendor IETF in ECSCF</assert>
<assert test='matches(substring-after(@ecscfOfflineChargingOmitVendorId, ":"), "0|10415") or (not(exists(@ecscfOfflineChargingOmitAVP)) or (every $avpcode in @ecscfOfflineChargingOmitAVP satisfies ($avpcode=285 or $avpcode=284 or $avpcode=1264 or $avpcode=338 or $avpcode=340)))'>[Rule CSCF88] There is an invalid omittable AVP code for the vendor ERICSSON in ECSCF</assert>
<assert test='matches(substring-after(@ecscfOfflineChargingOmitVendorId, ":"), "0|193") or (not(exists(@ecscfOfflineChargingOmitAVP)) or (every $avpcode in @ecscfOfflineChargingOmitAVP satisfies ($avpcode=873 or $avpcode=876 or $avpcode=823 or $avpcode=829 or $avpcode=830 or $avpcode=831 or $avpcode=832 or $avpcode=1250 or $avpcode=1251 or $avpcode=833 or $avpcode=2301 or $avpcode=2302 or $avpcode=838 or $avpcode=841 or $avpcode=842 or $avpcode=843 or $avpcode=845 or $avpcode=848 or $avpcode=889 or $avpcode=861 or $avpcode=3401 or $avpcode=1263 or $avpcode=2711 or $avpcode=2712 or $avpcode=3402)))'>[Rule CSCF89] There is an invalid omittable AVP code for the vendor 3GPP in ECSCF</assert>
</rule>
</pattern>
</schema>

class EcscfOfflineChargingProfileClass
validationRules
rule EcscfOfflineChargingConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='@ecscfOfflineChargingProfile eq ../@ecscfChargingProfile'>[Rule CSCF45] The EcscfOfflineChargingProfile must have the same name as its parent</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='@ecscfOfflineChargingProfile eq ../@ecscfChargingProfile'>[Rule CSCF45] The EcscfOfflineChargingProfile must have the same name as its parent</assert>
</rule>
</pattern>
</schema>

class EnrollmentAuthority
attribute enrollmentCaCertificate
description
  The trusted cerificate of the RA or CA used for enrollment authentication.

Represents the certificate by the DN of the appropriate TrustedCertificate MO.

The RA or CA certificate provided in the PKI response is authenticated by this trusted certificate. certificate.

If this attribute has any value, the attribute enrollmentCaFingerprint is ignored.

attribute reservedBy

class EnrollmentServer
attribute uri
description
  The URI of the enrollment server.

The URI consists of a protocol, an IP or DNS address and an optional port number. Specify the optional port designation by appending a colon followed by the port number to the host part, for example, 192.168.33.27:8080. If no port number is provided, the default port is used.

For SCEP, the URI contains the relative URI of the enrollment CA HTTP Common Gateway interface (CGI) script path, which is the resource identifier of the resource on the server which will process the enrollment request.

Example for CMP: http://192.168.33.27:8080 or cmp://192.168.33.27 cmp://192.168.33.27
Example for SCEP: http://192.168.33.27:8080/cgi-bin/pkiclient.exe


class EnrollmentServerGroup
attribute reservedBy

class EvipAlb
attribute private
description
   <p>Private Private ALB contains IP configuration that may secures full traffic separation towards the user-application allowing IP-address ranges to overlap with other between ALBs. Default value is "no".</p> "no".

class EvipCluster
attribute macvlanLinkLocalRangeStart
description
   The MAC addresses are generated at random. For large clusters the probability for collisions becomes too high. Instead a An ipv6 link-local range used for internal evip interfaces (evip_macvlan0). Evip uses IPVLAN when possible but resorts to MACVLAN if ipvlan is not supported by the kernel. If MACVLAN is used with this base the specified link-local address plus range is used to create the node-id. MAC addresses for the macvlan interfaces.

class EvipFlowPolicy
attribute usageState
domainExtension
isNillable
noNotification

class EvipNode
attribute floatPriority
description
  This attribute is used to prioritize which EvipNodes to keep running in the case where fewer vacant processing units than the number of floating EvipNodes are available in the cluster. Higher Lower value equals higher priority and the use of decimal numbers (floating point) is allowed. The attribute is only valid if distribution is set to FLOATING.

class ExtNetSel-Application
validationRules
rule InitialTableConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;

<assert test='
not(@extNetSelectionDefaultPoolName) or (@extNetSelectionDefaultPoolName = ./ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)
'>[Rule ENS1] Pool Table named <value-of select="@extNetSelectionDefaultPoolName"/> is being referenced, so it must exist
</assert>&#13;

<assert test='
(matches(@extNetSelectionInitialTableName, "pool.*") and substring-after(@extNetSelectionInitialTableName, ":") = ./ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry) or
(matches(@extNetSelectionInitialTableName, "called.*") and substring-after(@extNetSelectionInitialTableName, ":") = ./ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable) or
(matches(@extNetSelectionInitialTableName, "calling.*") and substring-after(@extNetSelectionInitialTableName, ":") = ./ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable) or
(matches(@extNetSelectionInitialTableName, "CIC.*") and substring-after(@extNetSelectionInitialTableName, ":") = ./ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable) or
(matches(@extNetSelectionInitialTableName, "RN.*") and substring-after(@extNetSelectionInitialTableName, ":") = ./ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable) or
(matches(@extNetSelectionInitialTableName, "SipMessage.*") and substring-after(@extNetSelectionInitialTableName,":") = ./ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId) or
(matches(@extNetSelectionInitialTableName, "weight.*") and substring-after(@extNetSelectionInitialTableName, ":") = ./ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId) or
(@extNetSelectionInitialTableName = ./ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelectionInitialTableName = ./ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelectionInitialTableName = ./ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId) or
(@extNetSelectionInitialTableName eq "not_configured" and @applicationName eq "ExtNetSelection" and @extNetSelectionActiveConfiguration eq "ExtNetSelection2") or
(@extNetSelectionInitialTableName eq "not_configured" and @applicationName eq "ExtNetSelection2" and @extNetSelectionActiveConfiguration eq "ExtNetSelection")
'>[Rule ENS2] Initial Table named <value-of select="@extNetSelectionInitialTableName "/> is being referenced, so it must exist, or be set to not_configured
</assert>

</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>

<assert test='
not(@extNetSelectionDefaultPoolName) or (@extNetSelectionDefaultPoolName = ./ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)
'>[Rule ENS1] Pool Table named <value-of select="@extNetSelectionDefaultPoolName"/> is being referenced, so it must exist
</assert>

<assert test='
(matches(@extNetSelectionInitialTableName, "pool.*") and substring-after(@extNetSelectionInitialTableName, ":") = ./ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry) or
(matches(@extNetSelectionInitialTableName, "called.*") and substring-after(@extNetSelectionInitialTableName, ":") = ./ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable) or
(matches(@extNetSelectionInitialTableName, "calling.*") and substring-after(@extNetSelectionInitialTableName, ":") = ./ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable) or
(matches(@extNetSelectionInitialTableName, "CIC.*") and substring-after(@extNetSelectionInitialTableName, ":") = ./ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable) or
(matches(@extNetSelectionInitialTableName, "RN.*") and substring-after(@extNetSelectionInitialTableName, ":") = ./ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable) or
(matches(@extNetSelectionInitialTableName, "SipMessage.*") and substring-after(@extNetSelectionInitialTableName,":") = ./ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId) or
(matches(@extNetSelectionInitialTableName, "weight.*") and substring-after(@extNetSelectionInitialTableName, ":") = ./ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId) or
(@extNetSelectionInitialTableName = ./ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelectionInitialTableName = ./ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelectionInitialTableName = ./ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId) or
(@extNetSelectionInitialTableName eq "not_configured" and @applicationName eq "ExtNetSelection" and @extNetSelectionActiveConfiguration eq "ExtNetSelection2") or
(@extNetSelectionInitialTableName eq "not_configured" and @applicationName eq "ExtNetSelection2" and @extNetSelectionActiveConfiguration eq "ExtNetSelection")
'>[Rule ENS2] Initial Table named <value-of select="@extNetSelectionInitialTableName "/> is being referenced, so it must exist, or be set to not_configured
</assert>

</rule>
</pattern>
</schema>

class ExtNetSelCalledTableEntryClass
validationRules
rule CalledTableConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;

<assert test='
not(@extNetSelCalledTablePoolName) or (@extNetSelCalledTablePoolName = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)
'>[Rule ENS3] Pool Table named <value-of select="@extNetSelCalledTablePoolName"/> is being referenced, so it must exist
</assert>&#13;
&#13;
<assert test='
(matches(@extNetSelCalledTableNextTableName, "pool.*") and substring-after(@extNetSelCalledTableNextTableName, ":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry) or
(matches(@extNetSelCalledTableNextTableName, "called.*") and substring-after(@extNetSelCalledTableNextTableName, ":") = ../../ExtNetSelCalledTableClass/@extNetSelCalledTable) or
(matches(@extNetSelCalledTableNextTableName, "calling.*") and substring-after(@extNetSelCalledTableNextTableName, ":") = ../../../ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable) or
(matches(@extNetSelCalledTableNextTableName, "CIC.*") and substring-after(@extNetSelCalledTableNextTableName, ":") = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable) or
(matches(@extNetSelCalledTableNextTableName, "RN.*") and substring-after(@extNetSelCalledTableNextTableName, ":") = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable) or
(matches(@extNetSelCalledTableNextTableName, "SipMessage.*") and substring-after(@extNetSelCalledTableNextTableName,":") = ../../../ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId) or
(matches(@extNetSelCalledTableNextTableName, "weight.*") and substring-after(@extNetSelCalledTableNextTableName, ":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId) or
(@extNetSelCalledTableNextTableName = ../../../ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelCalledTableNextTableName = ../../../ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelCalledTableNextTableName = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId) or
not(@extNetSelCalledTableNextTableName)
'>[Rule ENS4] Next Table named <value-of select="@extNetSelCalledTableNextTableName "/> is being referenced, so it must exist
</assert>&#13;
&#13;
<assert test='
(not(@extNetSelCalledTablePoolName) and (@extNetSelCalledTableNextTableName)) or ((@extNetSelCalledTablePoolName) and not(@extNetSelCalledTableNextTableName))
'>[Rule ENS5] Either extNetSelCalledTablePoolName or extNetSelCalledTableNextTableName must be configured
</assert>
&#13;
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>

<assert test='
not(@extNetSelCalledTablePoolName) or (@extNetSelCalledTablePoolName = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)
'>[Rule ENS3] Pool Table named <value-of select="@extNetSelCalledTablePoolName"/> is being referenced, so it must exist
</assert>

<assert test='
(matches(@extNetSelCalledTableNextTableName, "pool.*") and substring-after(@extNetSelCalledTableNextTableName, ":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry) or
(matches(@extNetSelCalledTableNextTableName, "called.*") and substring-after(@extNetSelCalledTableNextTableName, ":") = ../../ExtNetSelCalledTableClass/@extNetSelCalledTable) or
(matches(@extNetSelCalledTableNextTableName, "calling.*") and substring-after(@extNetSelCalledTableNextTableName, ":") = ../../../ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable) or
(matches(@extNetSelCalledTableNextTableName, "CIC.*") and substring-after(@extNetSelCalledTableNextTableName, ":") = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable) or
(matches(@extNetSelCalledTableNextTableName, "RN.*") and substring-after(@extNetSelCalledTableNextTableName, ":") = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable) or
(matches(@extNetSelCalledTableNextTableName, "SipMessage.*") and substring-after(@extNetSelCalledTableNextTableName,":") = ../../../ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId) or
(matches(@extNetSelCalledTableNextTableName, "weight.*") and substring-after(@extNetSelCalledTableNextTableName, ":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId) or
(@extNetSelCalledTableNextTableName = ../../../ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelCalledTableNextTableName = ../../../ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelCalledTableNextTableName = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId) or
not(@extNetSelCalledTableNextTableName)
'>[Rule ENS4] Next Table named <value-of select="@extNetSelCalledTableNextTableName "/> is being referenced, so it must exist
</assert>

<assert test='
(not(@extNetSelCalledTablePoolName) and (@extNetSelCalledTableNextTableName)) or ((@extNetSelCalledTablePoolName) and not(@extNetSelCalledTableNextTableName))
'>[Rule ENS5] Either extNetSelCalledTablePoolName or extNetSelCalledTableNextTableName must be configured
</assert>

</rule>
</pattern>
</schema>

class ExtNetSelCallingPartyHeaderPriorityTableClass
validationRules
rule HeaderPriorityUniqnessConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='are-distinct-values(ExtNetSelCallingPartyHeaderPriorityTableEntryClass/@extNetSelCallingPartyHeaderPriority)'>[Rule ENS20] extNetSelCallingPartyHeaderPriority is not unique</assert>
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='are-distinct-values(ExtNetSelCallingPartyHeaderPriorityTableEntryClass/@extNetSelCallingPartyHeaderPriority)'>[Rule ENS20] extNetSelCallingPartyHeaderPriority is not unique</assert>
</rule>
</pattern>
</schema>

class ExtNetSelCallingTableEntryClass
validationRules
rule CallingTableConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;

<assert test='
not(@extNetSelCalledPartyTableName) or (@extNetSelCalledPartyTableName = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable)
'>[Rule ENS6] Called Table named <value-of select="@extNetSelCalledPartyTableName"/> is being referenced, so it must exist
</assert>&#13;
&#13;
<assert test='
not(@extNetSelCicTableName) or (@extNetSelCicTableName = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable)
'>[Rule ENS7] CIC Table named <value-of select="@extNetSelCicTableName"/> is being referenced, so it must exist
</assert>&#13;
&#13;
<assert test='
not(@extNetSelRnTableName) or (@extNetSelRnTableName = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable)
'>[Rule ENS8] RN Table named <value-of select="@extNetSelRnTableName"/> is being referenced, so it must exist
</assert>&#13;
&#13;
<assert test='
(matches(@extNetSelCallingTableNextTableName, "pool.*") and substring-after(@extNetSelCallingTableNextTableName, ":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry) or
(matches(@extNetSelCallingTableNextTableName, "called.*") and substring-after(@extNetSelCallingTableNextTableName, ":") = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable) or
(matches(@extNetSelCallingTableNextTableName, "calling.*") and substring-after(@extNetSelCallingTableNextTableName, ":") = ../../ExtNetSelCallingTableClass/@extNetSelCallingTable) or
(matches(@extNetSelCallingTableNextTableName, "CIC.*") and substring-after(@extNetSelCallingTableNextTableName, ":") = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable) or
(matches(@extNetSelCallingTableNextTableName, "RN.*") and substring-after(@extNetSelCallingTableNextTableName, ":") = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable) or
(matches(@extNetSelCallingTableNextTableName, "SipMessage.*") and substring-after(@extNetSelCallingTableNextTableName,":") = ../../../ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId) or
(matches(@extNetSelCallingTableNextTableName, "weight.*") and substring-after(@extNetSelCallingTableNextTableName, ":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId) or(@extNetSelCallingTableNextTableName = ../../../ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelCallingTableNextTableName = ../../../ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelCallingTableNextTableName = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId) or
not(@extNetSelCallingTableNextTableName)
'>[Rule ENS9] Next Table named <value-of select="@extNetSelCallingTableNextTableName "/> is being referenced, so it must exist
</assert>&#13;
&#13;
<assert test='
((@extNetSelCalledPartyTableName) and not(@extNetSelCallingTableNextTableName)) or (not(@extNetSelCalledPartyTableName) and (@extNetSelCallingTableNextTableName))
'>[Rule ENS10] Either extNetSelCalledPartyTableName or extNetSelCallingTableNextTableName must be configured
</assert>

<assert test='
(contains(@extNetSelCallingTableEntry,":\2B") and (substring-after(@extNetSelCallingTableEntry,":\2B") eq substring-after(@extNetSelCallingTableStartRange,"+"))) or
(contains(@extNetSelCallingTableEntry,":\2b") and (substring-after(@extNetSelCallingTableEntry,":\2b") eq substring-after(@extNetSelCallingTableStartRange,"+"))) or
(substring-after(@extNetSelCallingTableEntry,":") eq @extNetSelCallingTableStartRange)
'>[Rule ENS24] Invalid format extNetSelCallingTableEntry value should follow the format [ExtNetSelCallingTableName]:[extNetSelCallingTableStartRange]
</assert>

</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>

<assert test='
not(@extNetSelCalledPartyTableName) or (@extNetSelCalledPartyTableName = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable)
'>[Rule ENS6] Called Table named <value-of select="@extNetSelCalledPartyTableName"/> is being referenced, so it must exist
</assert>

<assert test='
not(@extNetSelCicTableName) or (@extNetSelCicTableName = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable)
'>[Rule ENS7] CIC Table named <value-of select="@extNetSelCicTableName"/> is being referenced, so it must exist
</assert>

<assert test='
not(@extNetSelRnTableName) or (@extNetSelRnTableName = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable)
'>[Rule ENS8] RN Table named <value-of select="@extNetSelRnTableName"/> is being referenced, so it must exist
</assert>

<assert test='
(matches(@extNetSelCallingTableNextTableName, "pool.*") and substring-after(@extNetSelCallingTableNextTableName, ":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry) or
(matches(@extNetSelCallingTableNextTableName, "called.*") and substring-after(@extNetSelCallingTableNextTableName, ":") = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable) or
(matches(@extNetSelCallingTableNextTableName, "calling.*") and substring-after(@extNetSelCallingTableNextTableName, ":") = ../../ExtNetSelCallingTableClass/@extNetSelCallingTable) or
(matches(@extNetSelCallingTableNextTableName, "CIC.*") and substring-after(@extNetSelCallingTableNextTableName, ":") = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable) or
(matches(@extNetSelCallingTableNextTableName, "RN.*") and substring-after(@extNetSelCallingTableNextTableName, ":") = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable) or
(matches(@extNetSelCallingTableNextTableName, "SipMessage.*") and substring-after(@extNetSelCallingTableNextTableName,":") = ../../../ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId) or
(matches(@extNetSelCallingTableNextTableName, "weight.*") and substring-after(@extNetSelCallingTableNextTableName, ":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId) or(@extNetSelCallingTableNextTableName = ../../../ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelCallingTableNextTableName = ../../../ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelCallingTableNextTableName = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId) or
not(@extNetSelCallingTableNextTableName)
'>[Rule ENS9] Next Table named <value-of select="@extNetSelCallingTableNextTableName "/> is being referenced, so it must exist
</assert>

<assert test='
((@extNetSelCalledPartyTableName) and not(@extNetSelCallingTableNextTableName)) or (not(@extNetSelCalledPartyTableName) and (@extNetSelCallingTableNextTableName))
'>[Rule ENS10] Either extNetSelCalledPartyTableName or extNetSelCallingTableNextTableName must be configured
</assert>

<assert test='
(contains(@extNetSelCallingTableEntry,":\2B") and (substring-after(@extNetSelCallingTableEntry,":\2B") eq substring-after(@extNetSelCallingTableStartRange,"+"))) or
(contains(@extNetSelCallingTableEntry,":\2b") and (substring-after(@extNetSelCallingTableEntry,":\2b") eq substring-after(@extNetSelCallingTableStartRange,"+"))) or
(substring-after(@extNetSelCallingTableEntry,":") eq @extNetSelCallingTableStartRange)
'>[Rule ENS24] Invalid format extNetSelCallingTableEntry value should follow the format [ExtNetSelCallingTableName]:[extNetSelCallingTableStartRange]
</assert>

</rule>
</pattern>
</schema>

class ExtNetSelCicTableEntryClass
validationRules
rule CicTableConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>
&#13;
<assert test='
not(@extNetSelCicTablePoolName) or (@extNetSelCicTablePoolName eq "ignore" ) or (@extNetSelCicTablePoolName = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)
'>[Rule ENS11] Pool Table named <value-of select="@extNetSelCicTablePoolName"/> is being referenced, so it must exist
</assert>&#13;
&#13;
<assert test='
(matches(@extNetSelCicTableNextTableName, "pool.*") and substring-after(@extNetSelCicTableNextTableName, ":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry) or
(matches(@extNetSelCicTableNextTableName, "called.*") and substring-after(@extNetSelCicTableNextTableName, ":") = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable) or
(matches(@extNetSelCicTableNextTableName, "calling.*") and substring-after(@extNetSelCicTableNextTableName, ":") = ../../../ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable) or
(matches(@extNetSelCicTableNextTableName, "CIC.*") and substring-after(@extNetSelCicTableNextTableName, ":") = ../../ExtNetSelCicTableClass/@extNetSelCicTable) or
(matches(@extNetSelCicTableNextTableName, "RN.*") and substring-after(@extNetSelCicTableNextTableName, ":") = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable) or
(matches(@extNetSelCicTableNextTableName, "SipMessage.*") and substring-after(@extNetSelCicTableNextTableName,":") = ../../../ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId) or
(matches(@extNetSelCicTableNextTableName, "weight.*") and substring-after(@extNetSelCicTableNextTableName, ":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId) or
(@extNetSelCicTableNextTableName = ../../../ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelCicTableNextTableName = ../../../ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelCicTableNextTableName = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId) or
not(@extNetSelCicTableNextTableName)
'>[Rule ENS12] Next Table named <value-of select="@extNetSelCicTableNextTableName"/> is being referenced, so it must exist
</assert>&#13;
&#13;
<assert test='
(not(@extNetSelCicTablePoolName) and (@extNetSelCicTableNextTableName)) or ((@extNetSelCicTablePoolName) and not(@extNetSelCicTableNextTableName))
'>[Rule ENS13] Either extNetSelCicTablePoolName or extNetSelCicTableNextTableName must be configured
</assert>

<assert test='
(contains(@extNetSelCicTableEntry,":\2B") and (substring-after(@extNetSelCicTableEntry,":\2B") eq substring-after(@extNetSelCicTableStartRange,"+"))) or
(contains(@extNetSelCicTableEntry,":\2b") and (substring-after(@extNetSelCicTableEntry,":\2b") eq substring-after(@extNetSelCicTableStartRange,"+"))) or
(substring-after(@extNetSelCicTableEntry,":") eq @extNetSelCicTableStartRange)
'>[Rule ENS25] Invalid format extNetSelCicTableEntry value should follow the format [ExtNetSelCicTableName]:[extNetSelCicTableStartRange]
</assert>

</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>

<assert test='
not(@extNetSelCicTablePoolName) or (@extNetSelCicTablePoolName eq "ignore" ) or (@extNetSelCicTablePoolName = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)
'>[Rule ENS11] Pool Table named <value-of select="@extNetSelCicTablePoolName"/> is being referenced, so it must exist
</assert>

<assert test='
(matches(@extNetSelCicTableNextTableName, "pool.*") and substring-after(@extNetSelCicTableNextTableName, ":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry) or
(matches(@extNetSelCicTableNextTableName, "called.*") and substring-after(@extNetSelCicTableNextTableName, ":") = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable) or
(matches(@extNetSelCicTableNextTableName, "calling.*") and substring-after(@extNetSelCicTableNextTableName, ":") = ../../../ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable) or
(matches(@extNetSelCicTableNextTableName, "CIC.*") and substring-after(@extNetSelCicTableNextTableName, ":") = ../../ExtNetSelCicTableClass/@extNetSelCicTable) or
(matches(@extNetSelCicTableNextTableName, "RN.*") and substring-after(@extNetSelCicTableNextTableName, ":") = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable) or
(matches(@extNetSelCicTableNextTableName, "SipMessage.*") and substring-after(@extNetSelCicTableNextTableName,":") = ../../../ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId) or
(matches(@extNetSelCicTableNextTableName, "weight.*") and substring-after(@extNetSelCicTableNextTableName, ":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId) or
(@extNetSelCicTableNextTableName = ../../../ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelCicTableNextTableName = ../../../ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelCicTableNextTableName = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId) or
not(@extNetSelCicTableNextTableName)
'>[Rule ENS12] Next Table named <value-of select="@extNetSelCicTableNextTableName"/> is being referenced, so it must exist
</assert>

<assert test='
(not(@extNetSelCicTablePoolName) and (@extNetSelCicTableNextTableName)) or ((@extNetSelCicTablePoolName) and not(@extNetSelCicTableNextTableName))
'>[Rule ENS13] Either extNetSelCicTablePoolName or extNetSelCicTableNextTableName must be configured
</assert>

<assert test='
(contains(@extNetSelCicTableEntry,":\2B") and (substring-after(@extNetSelCicTableEntry,":\2B") eq substring-after(@extNetSelCicTableStartRange,"+"))) or
(contains(@extNetSelCicTableEntry,":\2b") and (substring-after(@extNetSelCicTableEntry,":\2b") eq substring-after(@extNetSelCicTableStartRange,"+"))) or
(substring-after(@extNetSelCicTableEntry,":") eq @extNetSelCicTableStartRange)
'>[Rule ENS25] Invalid format extNetSelCicTableEntry value should follow the format [ExtNetSelCicTableName]:[extNetSelCicTableStartRange]
</assert>

</rule>
</pattern>
</schema>

class ExtNetSelMatchTableEntry
validationRules
rule extNetSelMatchTableResultConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>

<assert test='
(matches(@extNetSelMatchTableResult, "pool.*") and (substring-after(@extNetSelMatchTableResult, ":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)) or
(matches(@extNetSelMatchTableResult, "called.*") and (substring-after(@extNetSelMatchTableResult, ":") = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable)) or
(matches(@extNetSelMatchTableResult, "calling.*") and (substring-after(@extNetSelMatchTableResult, ":") = ../../../ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable)) or
(matches(@extNetSelMatchTableResult, "CIC.*") and (substring-after(@extNetSelMatchTableResult, ":") = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable)) or
(matches(@extNetSelMatchTableResult, "RN.*") and (substring-after(@extNetSelMatchTableResult, ":") = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable)) or
(matches(@extNetSelMatchTableResult, "SipMessage.*") and (substring-after(@extNetSelMatchTableResult, ":") = ../../../ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId)) or
(matches(@extNetSelMatchTableResult, "weight.*") and (substring-after(@extNetSelMatchTableResult,":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId)) or
(@extNetSelMatchTableResult = ../../ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelMatchTableResult = ../../../ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelMatchTableResult = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId)
'>[Rule ENS15] Result Table named <value-of select="@extNetSelMatchTableResult "/> is being referenced, so it must exist&#13;
</assert>
&#13;
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>

<assert test='
(matches(@extNetSelMatchTableResult, "pool.*") and (substring-after(@extNetSelMatchTableResult, ":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)) or
(matches(@extNetSelMatchTableResult, "called.*") and (substring-after(@extNetSelMatchTableResult, ":") = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable)) or
(matches(@extNetSelMatchTableResult, "calling.*") and (substring-after(@extNetSelMatchTableResult, ":") = ../../../ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable)) or
(matches(@extNetSelMatchTableResult, "CIC.*") and (substring-after(@extNetSelMatchTableResult, ":") = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable)) or
(matches(@extNetSelMatchTableResult, "RN.*") and (substring-after(@extNetSelMatchTableResult, ":") = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable)) or
(matches(@extNetSelMatchTableResult, "SipMessage.*") and (substring-after(@extNetSelMatchTableResult, ":") = ../../../ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId)) or
(matches(@extNetSelMatchTableResult, "weight.*") and (substring-after(@extNetSelMatchTableResult,":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId)) or
(@extNetSelMatchTableResult = ../../ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelMatchTableResult = ../../../ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelMatchTableResult = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId)
'>[Rule ENS15] Result Table named <value-of select="@extNetSelMatchTableResult "/> is being referenced, so it must exist
</assert>

</rule>
</pattern>
</schema>

class ExtNetSelPoolTableEntryClass
validationRules
rule ENSsetPoolUriConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>
&#13;
<assert test='
((@extNetSelPoolMode eq 0) and ( count(@extNetSelPoolURI) ge 1 and count(@extNetSelPoolURI) le 2)) or (@extNetSelPoolMode eq 1)
'>[Rule ENS27] The extNetSelPoolURI parameter must contain between 1 and 20 entries when extNetSelPoolMode is set to 0
</assert>
&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>

<assert test='
((@extNetSelPoolMode eq 0) and ( count(@extNetSelPoolURI) ge 1 and count(@extNetSelPoolURI) le 2)) or (@extNetSelPoolMode eq 1)
'>[Rule ENS27] The extNetSelPoolURI parameter must contain between 1 and 20 entries when extNetSelPoolMode is set to 0
</assert>

</rule>
</pattern>
</schema>

class ExtNetSelRnTableEntryClass
validationRules
rule RnTableConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>
&#13;
<assert test='
not(@extNetSelRnTablePoolName) or (@extNetSelRnTablePoolName = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)
'>[Rule ENS21]Pool Table named <value-of select="@extNetSelRnTablePoolName"/> is being referenced, so it must exist
</assert>&#13;
&#13;
<assert test='
(matches(@extNetSelRnTableNextTableName, "pool.*") and substring-after(@extNetSelRnTableNextTableName, ":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry) or
(matches(@extNetSelRnTableNextTableName, "called.*") and substring-after(@extNetSelRnTableNextTableName, ":") = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable) or
(matches(@extNetSelRnTableNextTableName, "calling.*") and substring-after(@extNetSelRnTableNextTableName, ":") = ../../../ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable) or
(matches(@extNetSelRnTableNextTableName, "CIC.*") and substring-after(@extNetSelRnTableNextTableName, ":") = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable) or
(matches(@extNetSelRnTableNextTableName, "RN.*") and substring-after(@extNetSelRnTableNextTableName, ":") = ../../ExtNetSelRnTableClass/@extNetSelRnTable) or
(matches(@extNetSelRnTableNextTableName, "SipMessage.*") and substring-after(@extNetSelRnTableNextTableName,":") = ../../../ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId) or
(matches(@extNetSelRnTableNextTableName, "weight.*") and substring-after(@extNetSelRnTableNextTableName, ":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId) or
(@extNetSelRnTableNextTableName = ../../../ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelRnTableNextTableName = ../../../ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelRnTableNextTableName = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId) or
not(@extNetSelRnTableNextTableName)
'>[Rule ENS14]Next Table named <value-of select="@extNetSelRnTableNextTableName"/> is being referenced, so it must exist
</assert>&#13;
&#13;
<assert test='
(not(@extNetSelRnTablePoolName) and (@extNetSelRnTableNextTableName)) or ((@extNetSelRnTablePoolName) and not(@extNetSelRnTableNextTableName))
'>[Rule ENS18] Either extNetSelRnTablePoolName or extNetSelRnTableNextTableName must be configured
</assert>

<assert test='
(contains(@extNetSelRnTableEntry,":\2B") and (substring-after(@extNetSelRnTableEntry,":\2B") eq substring-after(@extNetSelRnTableStartRange,"+"))) or
(contains(@extNetSelRnTableEntry,":\2b") and (substring-after(@extNetSelRnTableEntry,":\2b") eq substring-after(@extNetSelRnTableStartRange,"+"))) or
(substring-after(@extNetSelRnTableEntry,":") eq @extNetSelRnTableStartRange)
'>[Rule ENS26] Invalid format extNetSelRnTableEntry value should follow the format [ExtNetSelRnTableName]:[extNetSelRnTableStartRange]
</assert>

</rule>&#13;
</pattern>&#13;
</schema>&#13;



new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>

<assert test='
not(@extNetSelRnTablePoolName) or (@extNetSelRnTablePoolName = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)
'>[Rule ENS21]Pool Table named <value-of select="@extNetSelRnTablePoolName"/> is being referenced, so it must exist
</assert>

<assert test='
(matches(@extNetSelRnTableNextTableName, "pool.*") and substring-after(@extNetSelRnTableNextTableName, ":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry) or
(matches(@extNetSelRnTableNextTableName, "called.*") and substring-after(@extNetSelRnTableNextTableName, ":") = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable) or
(matches(@extNetSelRnTableNextTableName, "calling.*") and substring-after(@extNetSelRnTableNextTableName, ":") = ../../../ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable) or
(matches(@extNetSelRnTableNextTableName, "CIC.*") and substring-after(@extNetSelRnTableNextTableName, ":") = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable) or
(matches(@extNetSelRnTableNextTableName, "RN.*") and substring-after(@extNetSelRnTableNextTableName, ":") = ../../ExtNetSelRnTableClass/@extNetSelRnTable) or
(matches(@extNetSelRnTableNextTableName, "SipMessage.*") and substring-after(@extNetSelRnTableNextTableName,":") = ../../../ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId) or
(matches(@extNetSelRnTableNextTableName, "weight.*") and substring-after(@extNetSelRnTableNextTableName, ":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId) or
(@extNetSelRnTableNextTableName = ../../../ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelRnTableNextTableName = ../../../ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelRnTableNextTableName = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId) or
not(@extNetSelRnTableNextTableName)
'>[Rule ENS14]Next Table named <value-of select="@extNetSelRnTableNextTableName"/> is being referenced, so it must exist
</assert>

<assert test='
(not(@extNetSelRnTablePoolName) and (@extNetSelRnTableNextTableName)) or ((@extNetSelRnTablePoolName) and not(@extNetSelRnTableNextTableName))
'>[Rule ENS18] Either extNetSelRnTablePoolName or extNetSelRnTableNextTableName must be configured
</assert>

<assert test='
(contains(@extNetSelRnTableEntry,":\2B") and (substring-after(@extNetSelRnTableEntry,":\2B") eq substring-after(@extNetSelRnTableStartRange,"+"))) or
(contains(@extNetSelRnTableEntry,":\2b") and (substring-after(@extNetSelRnTableEntry,":\2b") eq substring-after(@extNetSelRnTableStartRange,"+"))) or
(substring-after(@extNetSelRnTableEntry,":") eq @extNetSelRnTableStartRange)
'>[Rule ENS26] Invalid format extNetSelRnTableEntry value should follow the format [ExtNetSelRnTableName]:[extNetSelRnTableStartRange]
</assert>

</rule>
</pattern>
</schema>




class ExtNetSelSipMessageTableEntry
validationRules
rule SipMessageTableConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>
&#13;
<assert test='
(matches(@extNetSelSipMessageTableResult, "pool.*") and (substring-after(@extNetSelSipMessageTableResult,":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)) or
(matches(@extNetSelSipMessageTableResult, "called.*") and (substring-after(@extNetSelSipMessageTableResult,":") = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable)) or
(matches(@extNetSelSipMessageTableResult, "calling.*") and (substring-after(@extNetSelSipMessageTableResult,":") = ../../../ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable)) or
(matches(@extNetSelSipMessageTableResult, "CIC.*") and (substring-after(@extNetSelSipMessageTableResult,":") = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable)) or
(matches(@extNetSelSipMessageTableResult, "RN.*") and (substring-after(@extNetSelSipMessageTableResult,":") = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable)) or
(matches(@extNetSelSipMessageTableResult, "SipMessage.*") and (substring-after(@extNetSelSipMessageTableResult,":") = ../../ExtNetSelSipMessageTable/@extNetSelSipMessageTableId)) or
(matches(@extNetSelSipMessageTableResult, "weight.*") and (substring-after(@extNetSelSipMessageTableResult,":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId)) or
(@extNetSelSipMessageTableResult = ../../../ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelSipMessageTableResult = ../../../ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelSipMessageTableResult = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId)
'>[Rule ENS22] Result Table named <value-of select="@extNetSelSipMessageTableResult "/> is being referenced, so it must exist
</assert>

<assert test='
(not(matches(substring-after(@extNetSelSipMessageTableEntryId, ":"), "default") or matches(substring-after(@extNetSelSipMessageTableEntryId, ":"), "OperandNotExist")) and (@extNetSelSipMessageTableMatchOperand and @extNetSelSipMessageTableMatchOperation)) or
(matches(substring-after(@extNetSelSipMessageTableEntryId, ":"), "default") or (matches(substring-after(@extNetSelSipMessageTableEntryId, ":"), "OperandNotExist")))
'>[Rule ENS23] SipMessage table entries named different than default or OperandNotExist must have entries in MatchOperand and MatchOperation.
</assert>

<assert test='
(matches(@extNetSelSipMessageTableMatchOperation, "match-regex") and (@extNetSelSipMessageTableMatchOperand = ../../../ExtNetSelRegexMTblClass[@extNetSelRegexMTbl eq "0"]/ExtNetSelRegexMTblEntryClass/@extNetSelRegexMTblEntry)) or
(matches(@extNetSelSipMessageTableMatchOperation, "match-extract") and (@extNetSelSipMessageTableMatchOperand = ../../../ExtNetSelRegexTableClass[@extNetSelRegexTable eq "0"]/ExtNetSelRegexTableEntryClass/@extNetSelRegexTableEntry)) or
(matches(substring-after(@extNetSelSipMessageTableEntryId, ":"), "default") or (matches(substring-after(@extNetSelSipMessageTableEntryId, ":"), "OperandNotExist")))
'>[Rule ENS29] SipMessage table entry attribute extNetSelSipMessageMatchOperand must point to an existing RegexTableEntry/RegexMTblEntry.
</assert>
&#13;
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>

<assert test='
(matches(@extNetSelSipMessageTableResult, "pool.*") and (substring-after(@extNetSelSipMessageTableResult,":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)) or
(matches(@extNetSelSipMessageTableResult, "called.*") and (substring-after(@extNetSelSipMessageTableResult,":") = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable)) or
(matches(@extNetSelSipMessageTableResult, "calling.*") and (substring-after(@extNetSelSipMessageTableResult,":") = ../../../ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable)) or
(matches(@extNetSelSipMessageTableResult, "CIC.*") and (substring-after(@extNetSelSipMessageTableResult,":") = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable)) or
(matches(@extNetSelSipMessageTableResult, "RN.*") and (substring-after(@extNetSelSipMessageTableResult,":") = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable)) or
(matches(@extNetSelSipMessageTableResult, "SipMessage.*") and (substring-after(@extNetSelSipMessageTableResult,":") = ../../ExtNetSelSipMessageTable/@extNetSelSipMessageTableId)) or
(matches(@extNetSelSipMessageTableResult, "weight.*") and (substring-after(@extNetSelSipMessageTableResult,":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId)) or
(@extNetSelSipMessageTableResult = ../../../ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelSipMessageTableResult = ../../../ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelSipMessageTableResult = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId)
'>[Rule ENS22] Result Table named <value-of select="@extNetSelSipMessageTableResult "/> is being referenced, so it must exist

</assert>

<assert test='
(not(matches(substring-after(@extNetSelSipMessageTableEntryId, ":"), "default") or matches(substring-after(@extNetSelSipMessageTableEntryId, ":"), "OperandNotExist")) and (@extNetSelSipMessageTableMatchOperand and @extNetSelSipMessageTableMatchOperation)) or
(matches(substring-after(@extNetSelSipMessageTableEntryId, ":"), "default") or (matches(substring-after(@extNetSelSipMessageTableEntryId, ":"), "OperandNotExist")))
'>[Rule ENS23] SipMessage table entries named different than default or OperandNotExist must have entries in MatchOperand and MatchOperation.
</assert>

<assert test='
(matches(@extNetSelSipMessageTableMatchOperation, "match-regex") and (@extNetSelSipMessageTableMatchOperand = ../../../ExtNetSelRegexMTblClass[@extNetSelRegexMTbl eq "0"]/ExtNetSelRegexMTblEntryClass/@extNetSelRegexMTblEntry)) or
(matches(@extNetSelSipMessageTableMatchOperation, "match-extract") and (@extNetSelSipMessageTableMatchOperand = ../../../ExtNetSelRegexTableClass[@extNetSelRegexTable eq "0"]/ExtNetSelRegexTableEntryClass/@extNetSelRegexTableEntry)) or
(matches(substring-after(@extNetSelSipMessageTableEntryId, ":"), "default") or (matches(substring-after(@extNetSelSipMessageTableEntryId, ":"), "OperandNotExist")))
'>[Rule ENS29] SipMessage table entry attribute extNetSelSipMessageMatchOperand must point to an existing RegexTableEntry/RegexMTblEntry.
</assert>

</rule>
</pattern>
</schema>

class ExtNetSelTableEntryClass
validationRules
rule GenericTableConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>
&#13;
<assert test='
(matches(@extNetSelTableResult, "pool.*") and (substring-after(@extNetSelTableResult, ":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)) or
(matches(@extNetSelTableResult, "called.*") and (substring-after(@extNetSelTableResult, ":") = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable)) or
(matches(@extNetSelTableResult, "calling.*") and (substring-after(@extNetSelTableResult, ":") = ../../../ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable)) or
(matches(@extNetSelTableResult, "CIC.*") and (substring-after(@extNetSelTableResult, ":") = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable)) or
(matches(@extNetSelTableResult, "RN.*") and (substring-after(@extNetSelTableResult, ":") = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable)) or
(matches(@extNetSelTableResult, "SipMessage.*") and (substring-after(@extNetSelTableResult, ":") = ../../../ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId)) or
(matches(@extNetSelTableResult, "weight.*") and substring-after(@extNetSelTableResult, ":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId) or
(@extNetSelTableResult = ../../../ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelTableResult = ../../ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelTableResult = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId)
'>[Rule ENS16] Next Table named <value-of select="@extNetSelTableResult"/> is being referenced, so it must exist
</assert>
&#13;
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>

<assert test='
(matches(@extNetSelTableResult, "pool.*") and (substring-after(@extNetSelTableResult, ":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)) or
(matches(@extNetSelTableResult, "called.*") and (substring-after(@extNetSelTableResult, ":") = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable)) or
(matches(@extNetSelTableResult, "calling.*") and (substring-after(@extNetSelTableResult, ":") = ../../../ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable)) or
(matches(@extNetSelTableResult, "CIC.*") and (substring-after(@extNetSelTableResult, ":") = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable)) or
(matches(@extNetSelTableResult, "RN.*") and (substring-after(@extNetSelTableResult, ":") = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable)) or
(matches(@extNetSelTableResult, "SipMessage.*") and (substring-after(@extNetSelTableResult, ":") = ../../../ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId)) or
(matches(@extNetSelTableResult, "weight.*") and substring-after(@extNetSelTableResult, ":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId) or
(@extNetSelTableResult = ../../../ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId) or
(@extNetSelTableResult = ../../ExtNetSelTableClass/@extNetSelTable) or
(@extNetSelTableResult = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId)
'>[Rule ENS16] Next Table named <value-of select="@extNetSelTableResult"/> is being referenced, so it must exist
</assert>

</rule>
</pattern>
</schema>

class ExtNetSelUtcTableEntry
validationRules
rule StartStopOperandConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>
&#13;
<assert test='
(matches(@extNetSelUtcTableEntryId,"\w+:\w+:default") or (not(matches(@extNetSelUtcTableEntryId,"\w+:\w+:default")) and string-length(@extNetSelUtcTableStartOperand) and string-length(@extNetSelUtcTableStopOperand) ))
'>[Rule ENS17] For match row, startOperand and stopOperand must not be empty
</assert>

<assert test='
(matches(@extNetSelUtcTableResult, "pool.*") and (substring-after(@extNetSelUtcTableResult, ":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)) or
(matches(@extNetSelUtcTableResult, "called.*") and (substring-after(@extNetSelUtcTableResult, ":") = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable)) or
(matches(@extNetSelUtcTableResult, "calling.*") and (substring-after(@extNetSelUtcTableResult, ":") = ../../../ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable)) or
(matches(@extNetSelUtcTableResult, "CIC.*") and (substring-after(@extNetSelUtcTableResult, ":") = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable)) or
(matches(@extNetSelUtcTableResult, "RN.*") and (substring-after(@extNetSelUtcTableResult, ":") = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable)) or
(matches(@extNetSelUtcTableResult, "SipMessage.*") and (substring-after(@extNetSelUtcTableResult, ":") = ../../../ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId)) or
(matches(@extNetSelUtcTableResult, "weight.*") and (substring-after(@extNetSelUtcTableResult,":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId)) or
(matches(@extNetSelUtcTableResult, "EnsExactString.*") and (@extNetSelUtcTableResult = ../../../ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId)) or
(@extNetSelUtcTableResult = ../../../ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(matches(@extNetSelUtcTableResult, "EnsDateMatchTable.*") and (@extNetSelUtcTableResult = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId)) or
(matches(@extNetSelUtcTableResult, "EnsTimeMatchTable.*") and (@extNetSelUtcTableResult = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId))
'>[Rule ENS19] Result Table named <value-of select="@extNetSelUtcTableResult "/> is being referenced, so it must exist
</assert>

</rule>
</pattern>
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>

<assert test='
(matches(@extNetSelUtcTableEntryId,"\w+:\w+:default") or (not(matches(@extNetSelUtcTableEntryId,"\w+:\w+:default")) and string-length(@extNetSelUtcTableStartOperand) and string-length(@extNetSelUtcTableStopOperand) ))
'>[Rule ENS17] For match row, startOperand and stopOperand must not be empty
</assert>

<assert test='
(matches(@extNetSelUtcTableResult, "pool.*") and (substring-after(@extNetSelUtcTableResult, ":") = ../../../ExtNetSelPoolsClass[@extNetSelPools eq "0"]/ExtNetSelPoolTableEntryClass/@extNetSelPoolTableEntry)) or
(matches(@extNetSelUtcTableResult, "called.*") and (substring-after(@extNetSelUtcTableResult, ":") = ../../../ExtNetSelCalledTablesClass[@extNetSelCalledTables eq "0"]/ExtNetSelCalledTableClass/@extNetSelCalledTable)) or
(matches(@extNetSelUtcTableResult, "calling.*") and (substring-after(@extNetSelUtcTableResult, ":") = ../../../ExtNetSelCallingTablesClass[@extNetSelCallingTables eq "0"]/ExtNetSelCallingTableClass/@extNetSelCallingTable)) or
(matches(@extNetSelUtcTableResult, "CIC.*") and (substring-after(@extNetSelUtcTableResult, ":") = ../../../ExtNetSelCicTablesClass[@extNetSelCicTables eq "0"]/ExtNetSelCicTableClass/@extNetSelCicTable)) or
(matches(@extNetSelUtcTableResult, "RN.*") and (substring-after(@extNetSelUtcTableResult, ":") = ../../../ExtNetSelRnTablesClass[@extNetSelRnTables eq "0"]/ExtNetSelRnTableClass/@extNetSelRnTable)) or
(matches(@extNetSelUtcTableResult, "SipMessage.*") and (substring-after(@extNetSelUtcTableResult, ":") = ../../../ExtNetSelSipMessageTables[@extNetSelSipMessageTablesId eq "0"]/ExtNetSelSipMessageTable/@extNetSelSipMessageTableId)) or
(matches(@extNetSelUtcTableResult, "weight.*") and (substring-after(@extNetSelUtcTableResult,":") = ../../../ExtNetSelWeightTables[@extNetSelWeightTablesId eq "0"]/ExtNetSelWeightTable/@extNetSelWeightTableId)) or
(matches(@extNetSelUtcTableResult, "EnsExactString.*") and (@extNetSelUtcTableResult = ../../../ExtNetSelMatchTables[@extNetSelMatchTablesId eq "0"]/ExtNetSelMatchTable/@extNetSelMatchTableId)) or
(@extNetSelUtcTableResult = ../../../ExtNetSelTablesClass[@extNetSelTables eq "0"]/ExtNetSelTableClass/@extNetSelTable) or
(matches(@extNetSelUtcTableResult, "EnsDateMatchTable.*") and (@extNetSelUtcTableResult = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId)) or
(matches(@extNetSelUtcTableResult, "EnsTimeMatchTable.*") and (@extNetSelUtcTableResult = ../../../ExtNetSelUtcTables[@extNetSelUtcTablesId eq "0"]/ExtNetSelUtcTable/@extNetSelUtcTableId))
'>[Rule ENS19] Result Table named <value-of select="@extNetSelUtcTableResult "/> is being referenced, so it must exist
</assert>

</rule>
</pattern>
</schema>

class IcscfNetworkInterface
validationRules
rule IcscfPortConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>
<assert test='@icscfNetworkInterfaceEntry and ((../../../@cscfISPBehavior eq 1 ) or (../../../@cscfISPBehavior eq 4 ) or (../../../@cscfISPBehavior eq 5 ))'>[Rule CSCF46] cscfISPBehavior must be set to ISP or IS or I_CSCF before creating an IcscfNetworkInterface instance</assert>&#13;
<assert test='@icscfNetworkInterfaceEntry and (count (../../../@icscfDomainNameEntry) ge 1)'>[Rule CSCF47] icscfDomainNameEntry must contain at least one entry before creating an IcscfNetworkInterface instance</assert> &#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='@icscfNetworkInterfaceEntry and ((../../../@cscfISPBehavior eq 1 ) or (../../../@cscfISPBehavior eq 4 ) or (../../../@cscfISPBehavior eq 5 ))'>[Rule CSCF46] cscfISPBehavior must be set to ISP or IS or I_CSCF before creating an IcscfNetworkInterface instance</assert>
<assert test='@icscfNetworkInterfaceEntry and (count (../../../@icscfDomainNameEntry) ge 1)'>[Rule CSCF47] icscfDomainNameEntry must contain at least one entry before creating an IcscfNetworkInterface instance</assert>
</rule>
</pattern>
</schema>

class IcscfNwIfs
validationRules
rule ProtocolConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>
<assert test='count(IcscfNetworkInterface[matches(@icscfNetworkInterfaceEntry, "TCP:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")]) le 1'>[Rule CSCF48] Maximum number of IcscfNetworkInterface instances for this protocol are already configured for IPv4</assert>
<assert test='count(IcscfNetworkInterface[matches(@icscfNetworkInterfaceEntry, "UDP:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")]) le 1'>[Rule CSCF49] Maximum number of IcscfNetworkInterface instances for this protocol are already configured for IPv4</assert>
<assert test='count(IcscfNetworkInterface[not(matches(@icscfNetworkInterfaceEntry, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")) and matches(@icscfNetworkInterfaceEntry, "TCP.*")]) le 1'>[Rule CSCF50] Maximum number of IcscfNetworkInterface instances for this protocol are already configured for IPv6</assert>
<assert test='count(IcscfNetworkInterface[not(matches(@icscfNetworkInterfaceEntry, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")) and matches(@icscfNetworkInterfaceEntry, "UDP.*")]) le 1'>[Rule CSCF51] Maximum number of IcscfNetworkInterface instances for this protocol are already configured for IPv6</assert>
<assert test='count(IcscfNetworkInterface[not(matches(@icscfNetworkInterfaceEntry, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}"))]) eq 0 or (../../CscfRoutingGroupClass[cscfRoutingGroup eq "0"]/CscfRoutingClass[cscfRouting eq "default"]/@cscfHostportAsFqdnOnly)'>[Rule CSCF95] Icscf IPv6 interfaces are only allowed when cscfHostportAsFqdnOnly = true</assert>
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='count(IcscfNetworkInterface[matches(@icscfNetworkInterfaceEntry, "TCP:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")]) le 1'>[Rule CSCF48] Maximum number of IcscfNetworkInterface instances for this protocol are already configured for IPv4</assert>
<assert test='count(IcscfNetworkInterface[matches(@icscfNetworkInterfaceEntry, "UDP:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")]) le 1'>[Rule CSCF49] Maximum number of IcscfNetworkInterface instances for this protocol are already configured for IPv4</assert>
<assert test='count(IcscfNetworkInterface[not(matches(@icscfNetworkInterfaceEntry, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")) and matches(@icscfNetworkInterfaceEntry, "TCP.*")]) le 1'>[Rule CSCF50] Maximum number of IcscfNetworkInterface instances for this protocol are already configured for IPv6</assert>
<assert test='count(IcscfNetworkInterface[not(matches(@icscfNetworkInterfaceEntry, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")) and matches(@icscfNetworkInterfaceEntry, "UDP.*")]) le 1'>[Rule CSCF51] Maximum number of IcscfNetworkInterface instances for this protocol are already configured for IPv6</assert>
<assert test='count(IcscfNetworkInterface[not(matches(@icscfNetworkInterfaceEntry, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}"))]) eq 0 or (../../CscfRoutingGroupClass[cscfRoutingGroup eq "0"]/CscfRoutingClass[cscfRouting eq "default"]/@cscfHostportAsFqdnOnly)'>[Rule CSCF95] Icscf IPv6 interfaces are only allowed when cscfHostportAsFqdnOnly = true</assert>
</rule>
</pattern>
</schema>

class KeyFileInformation
description
  Basic information about the key file installed on the Managed Element.

This MO is not applicable to LM deployments that connect to Arwa. NeLS.

class KeyFileManagement
description
  Enables installation of key files and provides information about the installed key file.

This MO is not applicable to LM deployments that connect to Arwa.

This MO is not applicable to LM deployments that connect to NeLS.

class Lm
attribute fingerprint
description
  The unique identification of the Managed Element.

Limited to 256 alphanumeric characters including hyphens (-) and underscores (_), no white spaces.

This attribute is not applicable to LM deployments that connect to Arwa. NeLS.
attribute fingerprintUpdateable
description
  Indicates whether or not the fingerprint of the Managed Element can be updated.

This attribute is not applicable to LM deployments that connect to Arwa. NeLS.
attribute lastInventoryChange
description
  Date and time of the last change in the license inventory.

Change in the license inventory may occur when the key file is updated on the Managed Element or when license information is refreshed by synchronizing with license servers.

This attribute is not applicable to LM deployments that connect to Arwa. NeLS.
attribute lockingCode
description
  Locking code to be used by the supply organization to provide site-specific license key files.

This attribute is not applicable to LM deployments that connect to Arwa NeLS or LM deployments using ELIM.
action publishLicenseInventory
description
  Publish the License Inventory.

Triggers the immediate publication of license information from the License Key File and usage information from the LmServer cache to the information model.

Return value is true if the publication is successful, false otherwise.

For LM deployments that connect to Arwa, NeLS, the license information is retrieved from the Arwa Network License Server.

class NodeCredential
attribute enrollmentTimer
description
  The enrollment poll timer in minutes.

If the time indicated by this timer elapses before the enrollment is finished, the enrollment fails. No value means the timer is disabled. Used only for online enrollment.
dataType
uint16
derivedDataTypeRef SEC_CertM_NodeCredential_enrollmentTimer
action installCredentialFromUri
description
  Installs a node credential or certificate from the specified Uniform Resource Identifier (URI).

If the container file is in PKCS#12 format, the action implicitly starts an offline enrollment. If the file is a certificate in Privacy Enhanced Mail (PEM) or Distinguished Encoding Rules (DER) format, this action closes the ongoing offline enrollment process started by the startOfflineCsrEnrollment action.

The action can be invoked if the enrollmentSupport attribute of the CertMCapabilites MO indicates that offline enrollment is supported. Chain certificates are imported from PEM formatted file or PKCS#12 container file.

For a container file in PKCS#12 format, the The action can be invoked if there is no other action in progress on this MO. For a certificate file in PEM or DER format, the action can be invoked if there enrollmentSupport attribute of the CertMCapabilities MO indicates that offline enrollment is a startOfflineCsrEnrollment action in progress on this MO. supported.

For a container file in PKCS#12 format, the action can be invoked if there is no other action in progress on this MO, and the URI scheme is a secure file transfer protocol, or points to a local file. For a certificate file in PEM or DER format, the action can be invoked if there is a startOfflineCsrEnrollment action in progress on this MO.

The action returns immediately after invocation. The progress of the action can be tracked via the enrollmentProgress attribute.

The action returns with TRUE after successful invocation, otherwise it returns with FALSE.

The generic URI syntax is defined by RFC 3986.
Example: sftp://myuser@myhostname.ericsson.local/dir/subdir/file sftp://myuser@myhostname.ericsson.local/dir/subdir/certificate
Example: http://myhostname.ericsson.local/dir/subdir/certificate
parameter credentialPassword
description
  The password for decrypting the PKCS#12 container file. If the action is called to install a certificate in Privacy Enhanced Mail (PEM) or Distinguished Encoding Rules (DER) format to finish a running enrollment process, the value of password has to be 'NULL'. file.
parameter fingerprint
description
  The Secure Hash Algorithm (SHA) fingerprint of the certificate to be installed.

The fingerprint is checked against the fingerprint calculated on the installed file. If the verification of the fingerprint is not required, the 'NULL' string must be provided. The hash must be calculated by the SHA algorithm indicated in fingerprintSupport of the CertMCapabilities MO.
parameter uri
description
  This parameter contains a URI assumed to point to the certificate or credential container file.

The generic Uniform Resource Identifier (URI) syntax is defined by RFC 3986.
Example: sftp://myuser@myhostname.ericsson.local/dir/subdir/file
Example: http://myhostname.ericsson.local/dir/subdir/certificate
The URI must not contain any password. The password shall be provided in the second parameter of this action.
The URI may be local relative (e.g. data/dir/subdir/file), or local absolute (e.g. file:///data/dir/subdir/file), or remote (e.g. sftp://user@hostname/dir/subdir/file) or remote relative (e.g. sftp://user@hostname/~/cert.pem).
If the URI is local relative, the file is expected to be under directory path indicated by the localFileStorePath attribute in the CertM MO.
parameter uriPassword
description
  The password part of the Uniform Resource Identifier (URI). If a password is not required, the 'NULL' string has to be provided. (URI).
attribute keyInfo
description
  Specifies the key type and length that is used for the next enrollment. enrollment.

Mandatory for actions startOfflineCsrEnrollment or startOnlineEnrollment.

For the supported key types see CertMCapabilities MO keySupport attribute. Deprecated key types are not recommended for new enrollments.


attribute renewalMode
domainExtension
isNillable
action startOfflineCsrEnrollment
description
  Starts a manual enrollment procedure.

Creates a PKCS#10 Certificate Signing Request (CSR) that is stored at the specified local Uniform Resource Identifier URI. A file transfer service can be used to fetch the CSR file from the ME.

The action can be invoked if the enrollmentSupport attribute of the CertMCapabilites CertMCapabilities MO indicates that offline CSR-based enrollment is supported.

The action uses attributes subjectName and keyInfo attributes as inputs.

If no other action is in progress on this MO, the action can be invoked and it returns immediately after invocation.
The action progress can be tracked via the enrollmentProgress attribute.

The action returns with TRUE after successful invocation, otherwise it returns with FALSE.
parameter uriPassword
description
  The password section of the Uniform Resource Identifier (URI). If a password is not required, the 'NULL' string must be provided. (URI).
action startOnlineEnrollment
description
  Starts the online enrollment process.

For initial enrollment If a vendor credential is not available, a challengePassword must be provided. provided for initial enrollments. Otherwise, the active vendor credential, indicated in the CertM MO, or the existing valid node credential signs the PKI request.

The action can be invoked if If the enrollmentSupport attribute of the CertMCapabilites CertMCapabilities MO indicates that online enrollment is supported. supported, the action can be invoked.

As inputs, the action uses subjectName, keyInfo, enrollmentServerGroup and enrollmentAuthority attributes.

If no other action is in progress on this MO, the action can be invoked and it returns immediately after invocation.
Action progress can be tracked via the enrollmentProgress attribute.

The action returns with TRUE after successful invocation, otherwise it returns with FALSE.
attribute subjectName
dataType
string
derivedDataTypeRef DistinguishedName

class PcscfNetworkInterface
validationRules
rule PcscfPortConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='@pcscfNetworkInterfaceEntry and ((../../../@cscfISPBehavior eq 3 ) or (../../../@cscfISPBehavior eq 4 ))'>[Rule CSCF52] cscfISPBehavior must be set to ISP or P_CSCF before creating an PcscfNetworkInterface instance</assert>&#13;
<assert test='@pcscfNetworkInterfaceEntry and (count (../../../@pcscfDomainNameEntry) ge 1)'>[Rule CSCF53] pcscfDomainNameEntry must contain at least one entry before creating an PcscfNetworkInterface instance</assert> &#13;
<assert test='((@pcscfNetworkInterfaceProtection eq "None") or ((@pcscfNetworkInterfaceProtection eq "IPSec") and (count (@pcscfPcPortEntry) ge 3 and count(@pcscfPcPortEntry) le 10)))'>[Rule CSCF54] Not valid number of pcscfPcPort Entries. IPSec interfaces must have at least 3 and not more than 10 pcscfPcPort Entries</assert>&#13;
<assert test='((@pcscfNetworkInterfaceProtection eq "IPSec") or ((@pcscfNetworkInterfaceProtection eq "None") and (count(@pcscfPcPortEntry) eq 0)))'>[Rule CSCF55] Non-protected ports should not have any pcscfPcPortEntry</assert>&#13;
<assert test='are-distinct-values(@pcscfPcPortEntry)'>[Rule CSCF56] Should have distinct pcscfPcPort Entries</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='@pcscfNetworkInterfaceEntry and ((../../../@cscfISPBehavior eq 3 ) or (../../../@cscfISPBehavior eq 4 ))'>[Rule CSCF52] cscfISPBehavior must be set to ISP or P_CSCF before creating an PcscfNetworkInterface instance</assert>
<assert test='@pcscfNetworkInterfaceEntry and (count (../../../@pcscfDomainNameEntry) ge 1)'>[Rule CSCF53] pcscfDomainNameEntry must contain at least one entry before creating an PcscfNetworkInterface instance</assert>
<assert test='((@pcscfNetworkInterfaceProtection eq "None") or ((@pcscfNetworkInterfaceProtection eq "IPSec") and (count (@pcscfPcPortEntry) ge 3 and count(@pcscfPcPortEntry) le 10)))'>[Rule CSCF54] Not valid number of pcscfPcPort Entries. IPSec interfaces must have at least 3 and not more than 10 pcscfPcPort Entries</assert>
<assert test='((@pcscfNetworkInterfaceProtection eq "IPSec") or ((@pcscfNetworkInterfaceProtection eq "None") and (count(@pcscfPcPortEntry) eq 0)))'>[Rule CSCF55] Non-protected ports should not have any pcscfPcPortEntry</assert>
<assert test='are-distinct-values(@pcscfPcPortEntry)'>[Rule CSCF56] Should have distinct pcscfPcPort Entries</assert>
</rule>
</pattern>
</schema>

class ScscfChargingAsInvolvementTriggerClass
validationRules
rule ParentNameConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='(substring-before(@scscfChargingAsInvolvementTrigger, ":") eq ../../@scscfChargingTriggerName) and (substring-before(substring-after(@scscfChargingAsInvolvementTrigger, ":"), ":")) eq substring-after(../@scscfChargingTriggerGroup, ":")'>[Rule CSCF57] Wrong format of the ScscfChargingAsInvolvementTriggerClass: should be ParentKey:OwnKey</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='(substring-before(@scscfChargingAsInvolvementTrigger, ":") eq ../../@scscfChargingTriggerName) and (substring-before(substring-after(@scscfChargingAsInvolvementTrigger, ":"), ":")) eq substring-after(../@scscfChargingTriggerGroup, ":")'>[Rule CSCF57] Wrong format of the ScscfChargingAsInvolvementTriggerClass: should be ParentKey:OwnKey</assert>
</rule>
</pattern>
</schema>

class ScscfChargingRequestUriTriggerClass
validationRules
rule ParentNameConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='(substring-before(@scscfChargingRequestUriTrigger, ":") eq ../../@scscfChargingTriggerName) and (substring-before(substring-after(@scscfChargingRequestUriTrigger, ":"), ":")) eq substring-after(../@scscfChargingTriggerGroup, ":")'>[Rule CSCF58] Wrong format of the ScscfChargingRequestUriTriggerClass: should be ParentKey:OwnKey</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='(substring-before(@scscfChargingRequestUriTrigger, ":") eq ../../@scscfChargingTriggerName) and (substring-before(substring-after(@scscfChargingRequestUriTrigger, ":"), ":")) eq substring-after(../@scscfChargingTriggerGroup, ":")'>[Rule CSCF58] Wrong format of the ScscfChargingRequestUriTriggerClass: should be ParentKey:OwnKey</assert>
</rule>
</pattern>
</schema>

class ScscfChargingRoamingStatusTriggerClass
validationRules
rule ParentNameConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='(substring-before(@scscfChargingRoamingStatusTrigger, ":") eq ../../@scscfChargingTriggerName) and (substring-before(substring-after(@scscfChargingRoamingStatusTrigger, ":"), ":")) eq substring-after(../@scscfChargingTriggerGroup, ":")'>[Rule CSCF59] Wrong format of the ScscfChargingRoamingStatusTriggerClass: should be ParentKey:OwnKey</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='(substring-before(@scscfChargingRoamingStatusTrigger, ":") eq ../../@scscfChargingTriggerName) and (substring-before(substring-after(@scscfChargingRoamingStatusTrigger, ":"), ":")) eq substring-after(../@scscfChargingTriggerGroup, ":")'>[Rule CSCF59] Wrong format of the ScscfChargingRoamingStatusTriggerClass: should be ParentKey:OwnKey</assert>
</rule>
</pattern>
</schema>

class ScscfChargingSessionCaseTriggerClass
validationRules
rule ParentNameConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='(substring-before(@scscfChargingSessionCaseTrigger, ":") eq ../../@scscfChargingTriggerName) and (substring-before(substring-after(@scscfChargingSessionCaseTrigger, ":"), ":")) eq substring-after(../@scscfChargingTriggerGroup, ":")'>[Rule CSCF60] Wrong format of the ScscfChargingSessionCaseTriggerClass: should be ParentKey:OwnKey</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='(substring-before(@scscfChargingSessionCaseTrigger, ":") eq ../../@scscfChargingTriggerName) and (substring-before(substring-after(@scscfChargingSessionCaseTrigger, ":"), ":")) eq substring-after(../@scscfChargingTriggerGroup, ":")'>[Rule CSCF60] Wrong format of the ScscfChargingSessionCaseTriggerClass: should be ParentKey:OwnKey</assert>
</rule>
</pattern>
</schema>

class ScscfChargingSipHeaderTriggerClass
validationRules
rule ParentNameConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='(substring-before(@scscfChargingSipHeaderTrigger, ":") eq ../../@scscfChargingTriggerName) and (substring-before(substring-after(@scscfChargingSipHeaderTrigger, ":"), ":")) eq substring-after(../@scscfChargingTriggerGroup, ":")'>[Rule CSCF61] Wrong format of the ScscfChargingSipHeaderTriggerClass: should be ParentKey:OwnKey</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='(substring-before(@scscfChargingSipHeaderTrigger, ":") eq ../../@scscfChargingTriggerName) and (substring-before(substring-after(@scscfChargingSipHeaderTrigger, ":"), ":")) eq substring-after(../@scscfChargingTriggerGroup, ":")'>[Rule CSCF61] Wrong format of the ScscfChargingSipHeaderTriggerClass: should be ParentKey:OwnKey</assert>
</rule>
</pattern>
</schema>

class ScscfChargingSipMethodTriggerClass
validationRules
rule ParentNameConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='(substring-before(@scscfChargingSipMethodTrigger, ":") eq ../../@scscfChargingTriggerName) and (substring-before(substring-after(@scscfChargingSipMethodTrigger, ":"), ":")) eq substring-after(../@scscfChargingTriggerGroup, ":")'>[Rule CSCF62] Wrong format of the ScscfChargingSipMethodTriggerClass: should be ParentKey:OwnKey</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='(substring-before(@scscfChargingSipMethodTrigger, ":") eq ../../@scscfChargingTriggerName) and (substring-before(substring-after(@scscfChargingSipMethodTrigger, ":"), ":")) eq substring-after(../@scscfChargingTriggerGroup, ":")'>[Rule CSCF62] Wrong format of the ScscfChargingSipMethodTriggerClass: should be ParentKey:OwnKey</assert>
</rule>
</pattern>
</schema>

class ScscfChargingTransactionInfoClass
validationRules
rule ScscfChargingTransactionInfoConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='@scscfChargingTransactionInfo eq ../@scscfChargingProfile'>[Rule CSCF63] The ScscfChargingTransactionInfo must have the same name as its parent</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='@scscfChargingTransactionInfo eq ../@scscfChargingProfile'>[Rule CSCF63] The ScscfChargingTransactionInfo must have the same name as its parent</assert>
</rule>
</pattern>
</schema>

class ScscfChargingTriggerGroupClass
validationRules
rule ChargingTriggerConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='substring-before(@scscfChargingTriggerGroup, ":") eq ../@scscfChargingTriggerName'>[Rule CSCF64] Wrong format of the ScscfChargingTriggerGroup: should be ParentKey:OwnKey</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='substring-before(@scscfChargingTriggerGroup, ":") eq ../@scscfChargingTriggerName'>[Rule CSCF64] Wrong format of the ScscfChargingTriggerGroup: should be ParentKey:OwnKey</assert>
</rule>
</pattern>
</schema>

class ScscfChargingTriggerGroupsClass
validationRules
rule ChargingProfileConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='not(@scscfChargingProfileName) or (@scscfChargingProfileName = ../../ScscfChargingProfilesClass[@scscfChargingProfiles eq "0"]/ScscfChargingProfileClass/@scscfChargingProfile)'>[Rule CSCF65] The value of scscfChargingProfileName must equal the name of an ScscfChargingProfileClass instance</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='not(@scscfChargingProfileName) or (@scscfChargingProfileName = ../../ScscfChargingProfilesClass[@scscfChargingProfiles eq "0"]/ScscfChargingProfileClass/@scscfChargingProfile)'>[Rule CSCF65] The value of scscfChargingProfileName must equal the name of an ScscfChargingProfileClass instance</assert>
</rule>
</pattern>
</schema>

class ScscfChargingTriggersClass
validationRules
rule TriggerPriorityUniquenessConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='are-distinct-values(ScscfChargingTriggerGroupsClass/@scscfChargingTriggerPriority)'>[Rule CSCF66] scscfChargingTriggerPriority is not unique</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='are-distinct-values(ScscfChargingTriggerGroupsClass/@scscfChargingTriggerPriority)'>[Rule CSCF66] scscfChargingTriggerPriority is not unique</assert>
</rule>
</pattern>
</schema>

class ScscfNetworkInterface
validationRules
rule ScscfPortandProtocolConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>
<assert test='@scscfNetworkInterfaceEntry and ((../../../@cscfISPBehavior eq 2 ) or
(../../../@cscfISPBehavior eq 4 ) or (../../../@cscfISPBehavior eq 5 ))'>[Rule CSCF67] cscfISPBehavior must be set to ISP or IS or S_CSCF before creating an ScscfNetworkInterface instance</assert>&#13;
<assert test='@scscfNetworkInterfaceEntry and (count (../../../@scscfDomainNameEntry) ge 1)'>[Rule CSCF68] scscfDomainNameEntry must contain at least one entry before creating an ScscfNetworkInterface instance</assert> &#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='@scscfNetworkInterfaceEntry and ((../../../@cscfISPBehavior eq 2 ) or
(../../../@cscfISPBehavior eq 4 ) or (../../../@cscfISPBehavior eq 5 ))'>[Rule CSCF67] cscfISPBehavior must be set to ISP or IS or S_CSCF before creating an ScscfNetworkInterface instance</assert>
<assert test='@scscfNetworkInterfaceEntry and (count (../../../@scscfDomainNameEntry) ge 1)'>[Rule CSCF68] scscfDomainNameEntry must contain at least one entry before creating an ScscfNetworkInterface instance</assert>
</rule>
</pattern>
</schema>

class ScscfNwIfs
validationRules
rule ProtocolConstraints
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>
<assert test='count(ScscfNetworkInterface[matches(@scscfNetworkInterfaceEntry, "TCP:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")]) le 1'>[Rule CSCF69] Maximum number of ScscfNetworkInterface instances for this protocol are already configured for IPv4</assert>
<assert test='count(ScscfNetworkInterface[matches(@scscfNetworkInterfaceEntry, "UDP:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")]) le 1'>[Rule CSCF70] Maximum number of ScscfNetworkInterface instances for this protocol are already configured for IPv4</assert>
<assert test='count(ScscfNetworkInterface[not(matches(@scscfNetworkInterfaceEntry, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")) and matches(@scscfNetworkInterfaceEntry, "TCP.*")]) le 1'>[Rule CSCF71] Maximum number of ScscfNetworkInterface instances for this protocol are already configured for IPv6</assert>
<assert test='count(ScscfNetworkInterface[not(matches(@scscfNetworkInterfaceEntry, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")) and matches(@scscfNetworkInterfaceEntry, "UDP.*")]) le 1'>[Rule CSCF72] Maximum number of ScscfNetworkInterface instances for this protocol are already configured for IPv6</assert>
<assert test='count(ScscfNetworkInterface[not(matches(@scscfNetworkInterfaceEntry, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}"))]) eq 0 or (../../CscfRoutingGroupClass[cscfRoutingGroup eq "0"]/CscfRoutingClass[cscfRouting eq "default"]/@cscfHostportAsFqdnOnly)'>[Rule CSCF96] Scscf IPv6 interfaces are only allowed when cscfHostportAsFqdnOnly = true</assert>
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='count(ScscfNetworkInterface[matches(@scscfNetworkInterfaceEntry, "TCP:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")]) le 1'>[Rule CSCF69] Maximum number of ScscfNetworkInterface instances for this protocol are already configured for IPv4</assert>
<assert test='count(ScscfNetworkInterface[matches(@scscfNetworkInterfaceEntry, "UDP:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")]) le 1'>[Rule CSCF70] Maximum number of ScscfNetworkInterface instances for this protocol are already configured for IPv4</assert>
<assert test='count(ScscfNetworkInterface[not(matches(@scscfNetworkInterfaceEntry, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")) and matches(@scscfNetworkInterfaceEntry, "TCP.*")]) le 1'>[Rule CSCF71] Maximum number of ScscfNetworkInterface instances for this protocol are already configured for IPv6</assert>
<assert test='count(ScscfNetworkInterface[not(matches(@scscfNetworkInterfaceEntry, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}")) and matches(@scscfNetworkInterfaceEntry, "UDP.*")]) le 1'>[Rule CSCF72] Maximum number of ScscfNetworkInterface instances for this protocol are already configured for IPv6</assert>
<assert test='count(ScscfNetworkInterface[not(matches(@scscfNetworkInterfaceEntry, ".*:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b:\d{1,4}"))]) eq 0 or (../../CscfRoutingGroupClass[cscfRoutingGroup eq "0"]/CscfRoutingClass[cscfRouting eq "default"]/@cscfHostportAsFqdnOnly)'>[Rule CSCF96] Scscf IPv6 interfaces are only allowed when cscfHostportAsFqdnOnly = true</assert>
</rule>
</pattern>
</schema>

class ScscfOfflineChargingOmits
validationRules
rule ScscfOfflineChargingOmitsConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='@scscfOfflineChargingOmitsId eq ../@scscfOfflineChargingProfile'>[Rule CSCF78] ScscfOfflineChargingOmits must have the same name as its parent</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='@scscfOfflineChargingOmitsId eq ../@scscfOfflineChargingProfile'>[Rule CSCF78] ScscfOfflineChargingOmits must have the same name as its parent</assert>
</rule>
</pattern>
</schema>

class ScscfOfflineChargingOmitVendor
validationRules
rule ScscfOfflineChargingOmitVendorConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='substring-before(@scscfOfflineChargingOmitVendorId, ":") eq ../@scscfOfflineChargingOmitsId'>[Rule CSCF79] The ScscfOfflineChargingOmitVendor must have the same name as its parent, followed by :[0|193|10415]</assert>&#13;
<assert test='matches(substring-after(@scscfOfflineChargingOmitVendorId, ":"),"0|193|10415")'>[Rule CSCF80] The ScscfOfflineChargingOmitVendor must have the same name as its parent, followed by :[0|193|10415]</assert>&#13;
<assert test='matches(substring-after(@scscfOfflineChargingOmitVendorId, ":"), "193|10415") or (not(exists(@scscfOfflineChargingOmitAVP)) or (every $avpcode in @scscfOfflineChargingOmitAVP satisfies ($avpcode=293 or $avpcode=1 or $avpcode=55 or $avpcode=461 or $avpcode=443)))'>[Rule CSCF81] There is an invalid omittable AVP code for the vendor IETF in SCSCF</assert>&#13;
<assert test='matches(substring-after(@scscfOfflineChargingOmitVendorId, ":"), "0|10415") or (not(exists(@scscfOfflineChargingOmitAVP)) or (every $avpcode in @scscfOfflineChargingOmitAVP satisfies ($avpcode=285 or $avpcode=284 or $avpcode=1160 or $avpcode=1261 or $avpcode=1264 or $avpcode=1305 or $avpcode=338 or $avpcode=340)))'>[Rule CSCF82] There is an invalid omittable AVP code for the vendor ERICSSON in SCSCF</assert>&#13;
<assert test='matches(substring-after(@scscfOfflineChargingOmitVendorId, ":"), "0|193") or (not(exists(@scscfOfflineChargingOmitAVP)) or (every $avpcode in @scscfOfflineChargingOmitAVP satisfies ($avpcode=873 or $avpcode=876 or $avpcode=823 or $avpcode=829 or $avpcode=830 or $avpcode=831 or $avpcode=832 or $avpcode=1250 or $avpcode=2024 or $avpcode=2023 or $avpcode=1251 or $avpcode=833 or $avpcode=2301 or $avpcode=2302 or $avpcode=838 or $avpcode=841 or $avpcode=842 or $avpcode=843 or $avpcode=845 or $avpcode=848 or $avpcode=889 or $avpcode=861 or $avpcode=3401 or $avpcode=1263 or $avpcode=2713 or $avpcode=2711 or $avpcode=2712 or $avpcode=3402)))'>[Rule CSCF83] There is an invalid omittable AVP code for the vendor 3GPP in SCSCF</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='substring-before(@scscfOfflineChargingOmitVendorId, ":") eq ../@scscfOfflineChargingOmitsId'>[Rule CSCF79] The ScscfOfflineChargingOmitVendor must have the same name as its parent, followed by :[0|193|10415]</assert>
<assert test='matches(substring-after(@scscfOfflineChargingOmitVendorId, ":"),"0|193|10415")'>[Rule CSCF80] The ScscfOfflineChargingOmitVendor must have the same name as its parent, followed by :[0|193|10415]</assert>
<assert test='matches(substring-after(@scscfOfflineChargingOmitVendorId, ":"), "193|10415") or (not(exists(@scscfOfflineChargingOmitAVP)) or (every $avpcode in @scscfOfflineChargingOmitAVP satisfies ($avpcode=293 or $avpcode=1 or $avpcode=55 or $avpcode=461 or $avpcode=443)))'>[Rule CSCF81] There is an invalid omittable AVP code for the vendor IETF in SCSCF</assert>
<assert test='matches(substring-after(@scscfOfflineChargingOmitVendorId, ":"), "0|10415") or (not(exists(@scscfOfflineChargingOmitAVP)) or (every $avpcode in @scscfOfflineChargingOmitAVP satisfies ($avpcode=285 or $avpcode=284 or $avpcode=1160 or $avpcode=1261 or $avpcode=1264 or $avpcode=1305 or $avpcode=338 or $avpcode=340)))'>[Rule CSCF82] There is an invalid omittable AVP code for the vendor ERICSSON in SCSCF</assert>
<assert test='matches(substring-after(@scscfOfflineChargingOmitVendorId, ":"), "0|193") or (not(exists(@scscfOfflineChargingOmitAVP)) or (every $avpcode in @scscfOfflineChargingOmitAVP satisfies ($avpcode=873 or $avpcode=876 or $avpcode=823 or $avpcode=829 or $avpcode=830 or $avpcode=831 or $avpcode=832 or $avpcode=1250 or $avpcode=2024 or $avpcode=2023 or $avpcode=1251 or $avpcode=833 or $avpcode=2301 or $avpcode=2302 or $avpcode=838 or $avpcode=841 or $avpcode=842 or $avpcode=843 or $avpcode=845 or $avpcode=848 or $avpcode=889 or $avpcode=861 or $avpcode=3401 or $avpcode=1263 or $avpcode=2713 or $avpcode=2711 or $avpcode=2712 or $avpcode=3402)))'>[Rule CSCF83] There is an invalid omittable AVP code for the vendor 3GPP in SCSCF</assert>
</rule>
</pattern>
</schema>

class ScscfOfflineChargingProfileClass
validationRules
rule ScscfOfflineChargingConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='@scscfOfflineChargingProfile eq ../@scscfChargingProfile'>[Rule CSCF73] The ScscfOfflineChargingProfile must have the same name as its parent</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='@scscfOfflineChargingProfile eq ../@scscfChargingProfile'>[Rule CSCF73] The ScscfOfflineChargingProfile must have the same name as its parent</assert>
</rule>
</pattern>
</schema>

class ScscfOnlineChargingProfileClass
validationRules
rule ScscfOnlineChargingConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='@scscfOnlineChargingProfile eq ../@scscfChargingProfile'>[Rule CSCF74] The ScscfOnlineChargingProfile must have the same name as its parent</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='@scscfOnlineChargingProfile eq ../@scscfChargingProfile'>[Rule CSCF74] The ScscfOnlineChargingProfile must have the same name as its parent</assert>
</rule>
</pattern>
</schema>

class ScscfSharedIfcClass
validationRules
rule IfcUniquenessConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='are-distinct-values(ScscfIfcClass/@scscfIfcPriority)'>[Rule CSCF75] Ifc Priority <value-of select="ScscfIfcClass/@scscfIfcPriority"/>is not unique</assert>&#13;
</rule>&#13;
</pattern>&#13;
</schema>&#13;
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='are-distinct-values(ScscfIfcClass/@scscfIfcPriority)'>[Rule CSCF75] Ifc Priority <value-of select="ScscfIfcClass/@scscfIfcPriority"/>is not unique</assert>
</rule>
</pattern>
</schema>

class ScscfSharedIfcGroupClass
validationRules
rule scscfNodeDefaultIfcEnabledConstraint
dependenciesScript
old:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">&#13;
<pattern>&#13;
<rule>&#13;
<assert test='(not (ScscfNodeDefaultIfc/@scscfNodeDefaultIfcEnabled and not(@scscfSharedIfcEnabled)))'>[Rule CSCF77] scscfNodeDefaultIfcEnabled cannot be true if scscfSharedIfcEnabled is false.</assert>
</rule>&#13;
</pattern>&#13;
</schema>
new:  <schema xmlns="http://purl.oclc.org/dsdl/schematron">
<pattern>
<rule>
<assert test='(not (ScscfNodeDefaultIfc/@scscfNodeDefaultIfcEnabled and not(@scscfSharedIfcEnabled)))'>[Rule CSCF77] scscfNodeDefaultIfcEnabled cannot be true if scscfSharedIfcEnabled is false.</assert>
</rule>
</pattern>
</schema>

class Snmp
attribute engineId

class TrustedCertificate
attribute reservedBy
attribute reservedByCategory
description
  Indicates the trust categories this trusted certificate belongs to.

Contains the Distinguished Names of the TrustCategory Managed Objects.
Deprecated: Deprecated in version 3.0. Restrictive to TrustCategory objects. Replaced by reservedBy.


enum ActiveUserVoiceDT
domainExtension

enum AdmState
domainExtension

enum CertificateState
enumMember REVOKED
description
  The certificate was revoked by a trusted CA.
Deprecated: Deprecated in version 3.0. Improper state descriptor for local certificates.


enum ChargingCancelCauseDT
domainExtension

enum ChargingRoamingStatusDT
domainExtension

enum ChargingSessionCaseDT
domainExtension

enum ChargingSessionTimerExpiresDT
domainExtension

enum CscfBehaviorDT
domainExtension

enum ExtNetSelPoolModeDT
domainExtension

enum ImmuneContactsBehaviorDT
domainExtension

enum KeyInfo
description
  Indicates the key type and length in bits.

This enumeration supports Rivest Shamir Adleman (RSA) and Elliptic Curve Digital Signature Algorithm (ECDDSA). (ECDSA).
enumMember ECDSA_160
description
   A key generated for the ECDSA algorithm with bit-length ranging from 160 bits to 223 bits. P-160 curve.
Deprecated: Improperly specified key type.

enumMember ECDSA_224
description
   A key generated for the ECDSA algorithm with bit-length ranging from 224 bits to 255 bits. P-224 curve.
Deprecated: Improperly specified key type.

enumMember ECDSA_256
description
   A key generated for the ECDSA algorithm with bit-length ranging from 256 bits to 383 bits. P-256 curve.
Deprecated: Improperly specified key type.

enumMember ECDSA_384
description
   A key generated for the ECDSA algorithm with bit-length ranging from 384 bits to 511 bits. P-384 curve.
Deprecated: Improperly specified key type.

enumMember ECDSA_512
description
   A key generated for the ECDSA algorithm with bit-length of at least 512 bits. P-512 curve.
Deprecated: Improperly specified key type.

enumMember ECDSA_521
enumMember ECDSA_BRAINPOOL_256
enumMember ECDSA_BRAINPOOL_320
enumMember ECDSA_BRAINPOOL_384
enumMember ECDSA_BRAINPOOL_512
enumMember ECDSA_SECP_256_R1
enumMember ECDSA_SECP_384_R1
enumMember ECDSA_SECP_521_R1
enumMember RSA_1024
description
  1024-bit long key generated for the RSA algorithm.
Deprecated: Outdated key type.


enum MaxContactsBehaviorDT
domainExtension

enum MultiDeviceAdminStateDT
domainExtension

enum NetworkInterfaceStatusDT
domainExtension

enum NetworkInterfaceTrafficDirDT
domainExtension

enum OperState
domainExtension

enum PhoneContextHandlingDT
domainExtension

enum RestorationProcedureTypeDT
domainExtension

enum SessionIdentifier
domainExtension

enum SoapBehaviorDT
domainExtension

enum TcscfBehaviorDT
domainExtension

enum UsageStateDT
domainExtension

enum UserDataDeleteModeDT
domainExtension

derivedDataType ComSnmp_Snmp_engineId
derivedDataType ProactiveMonitoredSipInterfaceDT
derivedDataType SEC_CertM_NodeCredential_enrollmentTimer
derivedDataType AccessTypeValidationDT
domainExtension

derivedDataType AdvancedActiveUserRangeDT
domainExtension

derivedDataType AkaAlgorithmDT
domainExtension

derivedDataType AkaStalenessTimerDT
domainExtension

derivedDataType AllocatedNumberRangeDT
domainExtension

derivedDataType AltServiceIndicationContentTypeDT
domainExtension

derivedDataType AuthPolicyDT
domainExtension

derivedDataType AuthPolicyEnabledDT
domainExtension

derivedDataType AuthProcedureDT
domainExtension

derivedDataType BcfNetworkInterfaceDT
domainExtension

derivedDataType BlacklistingThresholdDestDT
domainExtension

derivedDataType BlacklistMaxAuthAttemptsDT
domainExtension

derivedDataType CallingPartyCallFwdDT
domainExtension

derivedDataType ChargingBackupRetryIntervalDT
domainExtension

derivedDataType ChargingCaseEcscfDT
domainExtension

derivedDataType ChargingCaseScscfDT
domainExtension

derivedDataType ChargingOfflineDiscDirectionDT
domainExtension

derivedDataType ChargingOnlineDiscDirectionDT
domainExtension

derivedDataType ChargingServiceContextIdDT
domainExtension

derivedDataType ChargingSipMethodEcscfDT
domainExtension

derivedDataType ChargingSipMethodScscfDT
domainExtension

derivedDataType CicRoutingDT
domainExtension

derivedDataType ClearAsCacheDT
domainExtension

derivedDataType CodecDefFramesPerPacketDT
domainExtension

derivedDataType CompoundSipHeaderDT
domainExtension

derivedDataType CreditControlFailureHandlingDT
domainExtension

derivedDataType CscfFaultIsolationHexErrorCodeDT
domainExtension

derivedDataType CscfFaultIsolationSipErrorCodeDT
domainExtension

derivedDataType CscfLowerThrottlingThresholdDT
domainExtension

derivedDataType CscfMaxNoOfTcpConnectionsDT
domainExtension

derivedDataType CscfSip500RetryAfterDT
domainExtension

derivedDataType CscfSipOverloadControlReactingTrafficMeasurementIntervalDT
domainExtension

derivedDataType CscfSipOverloadControlReactingTrafficPrioritiesDT
description
  Syntax: &lt;priority&gt;:&lt;group>[,group]*[;&lt;priority&gt;:&lt;group&gt;[,group]*] &lt;priority&gt;:&lt;group>[,group]*[;&lt;priority&gt;:&lt;group&gt;[,group]*]*

Each &gt;priority&gt; represents a SIP Overload Control priority level where the values are in the range of 0 (highest) - 1 15 (lowest).

Each &gt;group&gt; represents a group of SIP requests. The possible groups are: &quot;Emergency&quot; (emergency calls); &quot;RphWpsX&quot; (priority calls where X is in the range of 0 (highest) - 4 (lowest), defined by the wps value in the RPH header); &quot;Inside&quot; (In-Dialogue Requests); &quot;Default&quot; (All other requests). Groups with higher priorities are not subject to traffic reduction except when all SIP requests in the other groups with lower priorities have been rejected and further reduction is still needed.

Each priority and group can only be specified once.
domainExtension
baseType
string
validValues
old:  ^([0-1]:(Emergency|RphWps0|RphWps1|RphWps2|RphWps3|RphWps4|Inside|Default)(,(Emergency|RphWps0|RphWps1|RphWps2|RphWps3|RphWps4|Inside|Default))*)(;([0-1]:(Emergency|RphWps0|RphWps1|RphWps2|RphWps3|RphWps4|Inside|Default)(,(Emergency|RphWps0|RphWps1|RphWps2|RphWps3|RphWps4|Inside|Default))*))*$
new:  ^(([0-9]|1[0-5]):(Emergency|RphWps0|RphWps1|RphWps2|RphWps3|RphWps4|Inside|Default)(,(Emergency|RphWps0|RphWps1|RphWps2|RphWps3|RphWps4|Inside|Default))*)(;(([0-9]|1[0-5]):(Emergency|RphWps0|RphWps1|RphWps2|RphWps3|RphWps4|Inside|Default)(,(Emergency|RphWps0|RphWps1|RphWps2|RphWps3|RphWps4|Inside|Default))*)*){0,15}$
validationRules
rule Pattern Constraint

derivedDataType CscfSipProtocolOwnNodeBehaviorDT
domainExtension

derivedDataType CscfThrottledInterfaceIdDT
domainExtension

derivedDataType CscfThrottlingRateDT
domainExtension

derivedDataType CscfThrottlingWindowLengthDT
domainExtension

derivedDataType CscfUnallocatedPublicServiceIdentityDT
domainExtension

derivedDataType CscfUpperThrottlingThresholdDT
domainExtension

derivedDataType CxDestinationHostDT
domainExtension

derivedDataType DbSweeperTimeDT
domainExtension

derivedDataType DefaultNodeSifcDT
domainExtension

derivedDataType DefaultQValueDT
domainExtension

derivedDataType DestinationUnavailabilityTimerDestDT
domainExtension

derivedDataType DestinationUnavailabilityTimerDT
domainExtension

derivedDataType DialogEventRefreshTimerMaxDT
domainExtension

derivedDataType DialogEventRefreshTimerMinDT
domainExtension

derivedDataType DiameterAvpCodeDT
domainExtension

derivedDataType DomainNameDT
domainExtension

derivedDataType DomainRoutingDestinationModeDT
domainExtension

derivedDataType DomainRoutingResultAddressDT
domainExtension

derivedDataType DomainRoutingSyncStateDT
domainExtension

derivedDataType EatfRedundantEatfEntryDT
domainExtension

derivedDataType EcNumberListDT
domainExtension

derivedDataType EcscfAddressDT
domainExtension

derivedDataType EcscfDefaultPsapBehaviorDT
domainExtension

derivedDataType EmergencyCallBehaviorDT
domainExtension

derivedDataType EmergencyPhoneContextDT
domainExtension

derivedDataType EmergencyRegistrationRefreshTimerDT
domainExtension

derivedDataType EnsExactStringDT
domainExtension

derivedDataType EOSAdditionalRouteDT
domainExtension

derivedDataType EOSAdditionalRouteDT
domainExtension

derivedDataType EOSMatchSipReasonDT
domainExtension

derivedDataType EOSMatchSipResponseDT
domainExtension

derivedDataType EOSRouteTableEntryIdDT
domainExtension

derivedDataType EOSRouteUriDT
domainExtension

derivedDataType EOSTableEntryIdDT
domainExtension

derivedDataType EOSTableIdDT
domainExtension

derivedDataType EOSTableNameDT
domainExtension

derivedDataType ExtNetSelActiveConfigDT
domainExtension

derivedDataType ExtNetSelCallingTableStartRangeDT
domainExtension

derivedDataType ExtNetSelEOSCaseDT
domainExtension

derivedDataType ExtNetSelInitialTableNameDT
description
  EcimDerivedString with length (0..128) constraint and pattern restriction (((calling|CIC|RN|called|P-Asserted-Identity|sdp-media|Request-URI|callingPartyDomain|Request-URI-Match|Event|P-Access-Network-Info|SIP-Method|SipMessage|EnsExactString|EnsDateMatchTable|EnsTimeMatchTable):.+)|not_configured) (((pool|calling|CIC|RN|called|P-Asserted-Identity|sdp-media|Request-URI|callingPartyDomain|Request-URI-Match|Event|P-Access-Network-Info|SIP-Method|SipMessage|EnsExactString|EnsDateMatchTable|EnsTimeMatchTable):.+)|not_configured)


domainExtension
baseType
string
validValues
old:  ((^(calling|CIC|RN|called|P-Asserted-Identity|sdp-media|Request-URI|callingPartyDomain|Request-URI-Match|Event|P-Access-Network-Info|SIP-Method|SipMessage|EnsExactString|EnsDateMatchTable|EnsTimeMatchTable|weight):.+)|not_configured)
new:  ((^(pool|calling|CIC|RN|called|P-Asserted-Identity|sdp-media|Request-URI|callingPartyDomain|Request-URI-Match|Event|P-Access-Network-Info|SIP-Method|SipMessage|EnsExactString|EnsDateMatchTable|EnsTimeMatchTable|weight):.+)|not_configured)
validationRules
rule Pattern Constraint

derivedDataType ExtNetSelMatchandUtcTableResultDT
domainExtension

derivedDataType ExtNetSelMatchTableModeDT
domainExtension

derivedDataType ExtNetSelNextTableNameDT
domainExtension

derivedDataType ExtNetSelPoolTimeoutDT
domainExtension

derivedDataType ExtNetSelPoolUriDT
domainExtension

derivedDataType ExtNetSelRnAndCICTableStartRangeDT
domainExtension

derivedDataType ExtNetSelSipMessageEntryDT
domainExtension

derivedDataType ExtNetSelSipMessageMatchOperationDT
domainExtension

derivedDataType ExtNetSelSynchStateDT
domainExtension

derivedDataType ExtNetSelTableMatchOpDT
domainExtension

derivedDataType ExtNetSelTableModifyOpDT
domainExtension

derivedDataType ExtNetSelTableNameDT
domainExtension

derivedDataType ExtNetSelTableResultDT
description
  EcimDerivedString with length (4..128) constraint and pattern restriction ((pool|calling|called|RN|CIC|P-Asserted-Identity|sdp-media|Request-URI|SipMessage|EnsExactString|EnsDateMatchTable|EnsTimeMatchTable|callingPartyDomain|weight):.+) ((pool|calling|called|RN|CIC|P-Asserted-Identity|sdp-media|Request-URI|SipMessage|EnsExactString|EnsDateMatchTable|EnsTimeMatchTable|callingPartyDomain|Event|P-Access-Network-Info|Request-URI-Match|SIP-Method|weight):.+)
domainExtension
baseType
string
validValues
old:  (^(pool|calling|called|RN|CIC|P-Asserted-Identity|sdp-media|Request-URI|SipMessage|EnsExactString|EnsDateMatchTable|EnsTimeMatchTable|callingPartyDomain|weight):.+)
new:  (^(pool|calling|called|RN|CIC|P-Asserted-Identity|sdp-media|Request-URI|SipMessage|EnsExactString|EnsDateMatchTable|EnsTimeMatchTable|callingPartyDomain|Event|P-Access-Network-Info|Request-URI-Match|SIP-Method|weight):.+)
validationRules
rule Pattern Constraint

derivedDataType ExtNetSelUnallocatedResponseCodeDT
domainExtension

derivedDataType ExtNetSelUtcTableIdDT
domainExtension

derivedDataType extNetSelWeightEntryDT
domainExtension

derivedDataType extNetSelWeightTableIdDT
domainExtension

derivedDataType Fingerprint
description
  A derived string type that allows hexadecimal digits.

The string must be entered in two-digit groups separated by colons. For example: b7:a8:c6:d5:43:fa:50:43 'b7:a8:c6:d5:43:fa:50:43'

derivedDataType ForkingTimerDT
domainExtension

derivedDataType Fqdn0to100DT
domainExtension

derivedDataType Fqdn0to1024DT
domainExtension

derivedDataType Fqdn0to1024orEmptyDT
description
  EcimDerivedString with length (0..1024) constraint and pattern restriction (^$|(^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]+[a-zA-Z0-9])(\.([a-zA-Z]{1}[a-zA-Z0-9]|[a-zA-Z]{1}[a-zA-Z0-9\.-]+[a-zA-Z0-9]))*$))) (^$|(^([a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])*[\.])*[a-zA-Z]([a-zA-Z0-9\-]*[a-zA-Z0-9])*[\.]?$))
If unset an empty string, or when set representing an FQDN.

domainExtension
baseType
string
validValues
old:  (^$|(^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]+[a-zA-Z0-9])(\.([a-zA-Z]{1}[a-zA-Z0-9]|[a-zA-Z]{1}[a-zA-Z0-9\.-]+[a-zA-Z0-9]))*$))
new:  (^$|(^([a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])*[\.])*[a-zA-Z]([a-zA-Z0-9\-]*[a-zA-Z0-9])*[\.]?$))
validationRules
rule Pattern Constraint

derivedDataType FqdnIPv4IPv6
domainExtension

derivedDataType GatingPolicyDT
domainExtension

derivedDataType GetsAnEntryDT
domainExtension

derivedDataType HssBypassDT
domainExtension

derivedDataType HttpRequestTimerDT
domainExtension

derivedDataType IcscfRedirectBehaviorDT
domainExtension

derivedDataType IfcAsNameDT
domainExtension

derivedDataType IfcDefaultHandlingDT
domainExtension

derivedDataType IfcPriorityDT
domainExtension

derivedDataType Integer0to00001DT
domainExtension

derivedDataType Integer0to00010DT
domainExtension

derivedDataType Integer0to00010DT
domainExtension
old:  
new:  

derivedDataType Integer0to00100DT
domainExtension

derivedDataType Integer0to01024DT
domainExtension

derivedDataType Integer0to2147483647DT
domainExtension

derivedDataType Integer0to65535DT
domainExtension

derivedDataType Integer0to65535DT
domainExtension

derivedDataType Integer1to00100DT
domainExtension
old:  
new:  

derivedDataType Integer1to65535DT
domainExtension

derivedDataType integerKeyString
domainExtension

derivedDataType integerKeyString
domainExtension

derivedDataType integerKeyString
validationRules
description
  The name indicates that this is an integer key type type.
domainExtension
old:  
new:  

derivedDataType LdapServerEntryIdDT
validationRules
domainExtension
old:  
new:  

derivedDataType LdapServerResponseTimeDT
domainExtension
old:  
new:  

derivedDataType LdapServerRootDT
validationRules
domainExtension
old:  
new:  

derivedDataType LdapServerUnavailableTimeDT
domainExtension
old:  
new:  

derivedDataType LdapServerUserNameDT
validationRules
domainExtension
old:  
new:  

derivedDataType LdapServerVersionDT
validationRules
domainExtension
old:  
new:  

derivedDataType LicenseMeasurementIntervalDT
domainExtension

derivedDataType LRFAddressDT
domainExtension

derivedDataType MaxBandwidthDT
domainExtension

derivedDataType MaxContactsPerUserDT
domainExtension

derivedDataType MaxMediaTypeDT
domainExtension

derivedDataType MaxNonSupervisedSessionDurationDT
domainExtension

derivedDataType MaxNumBackupPerDestDT
domainExtension

derivedDataType MaxSipMessageSizeDT
domainExtension

derivedDataType Media0to120DT
domainExtension

derivedDataType Media0to160DT
domainExtension

derivedDataType MediaAuthorizationPolicyDT
domainExtension

derivedDataType MediaCodecDataDT
domainExtension

derivedDataType MediaFrameDurationDT
domainExtension

derivedDataType MediaOnHoldBehaviorDT
domainExtension

derivedDataType MlInterfaceDT
domainExtension

derivedDataType MonitorFallbackTimerDT
domainExtension

derivedDataType MultiDeviceDT
domainExtension

derivedDataType MultiDeviceServiceStateDT
domainExtension

derivedDataType NetworkInterfaceDT
domainExtension

derivedDataType OfflineChargingProfileVariant
domainExtension

derivedDataType OnEnumPstnDT
domainExtension

derivedDataType OverloadControlReportingFairnessBehaviorDT
domainExtension

derivedDataType PcPortEntryDT
domainExtension

derivedDataType PcscfIpAddressDT
domainExtension

derivedDataType PcscfNwIfProtectionDT
domainExtension

derivedDataType PcscfRedirectBehaviorDT
domainExtension

derivedDataType PcscfRestorationSipErrorCodesDT
domainExtension

derivedDataType PersonalActiveUserRangeDT
domainExtension

derivedDataType PreferredPartyAddressDT
domainExtension

derivedDataType PriorityMappingDT
domainExtension

derivedDataType PriorityPrefixDT
domainExtension

derivedDataType ProcessBehaviourDT
domainExtension

derivedDataType PsPortStatusDT
domainExtension

derivedDataType QuotaDecrementStartDT
domainExtension

derivedDataType QuotaRoundingMechanismDT
domainExtension

derivedDataType RegEventEnabledDT
domainExtension

derivedDataType RegEventMaxNotificationRateDT
domainExtension

derivedDataType RegEventRefreshTimerDT
domainExtension

derivedDataType RegistrationContactRestrictionDT
domainExtension

derivedDataType RegistrationEventRefreshTimerMaxDT
domainExtension

derivedDataType RegistrationEventRefreshTimerMinDT
domainExtension

derivedDataType RegistrationRefreshTimerDT
domainExtension

derivedDataType ReplaceRequestUriDT
domainExtension

derivedDataType ResourceBrokerEntryDT
domainExtension

derivedDataType ScscfAssignCalleePrioDT
domainExtension

derivedDataType ScscfContactTrunkGroupAndContextDT
domainExtension

derivedDataType ScscfEmergencyRegServiceRouteBehaviorDT
domainExtension

derivedDataType ScscfRedundantScscfEntryDt
domainExtension

derivedDataType ServedUserIdSelectionDT
domainExtension

derivedDataType ServiceContextDT
domainExtension

derivedDataType SessionRefreshTimerDT
domainExtension

derivedDataType ShortenUserRegistrationTimeDT
domainExtension

derivedDataType SipErrorCodeDT
domainExtension

derivedDataType SipErrorConfigurationEntryDT
domainExtension

derivedDataType SipErrorConfigurationTableDT
domainExtension

derivedDataType SipErrorFilteringCriteriaDT
domainExtension

derivedDataType SipErrorNextTableDT
domainExtension

derivedDataType SipErrorRetryAfterDT
domainExtension

derivedDataType SipErrorSloganDT
domainExtension

derivedDataType SipMonitoringSuppressDestinationDT
domainExtension

derivedDataType SipPmKeyDT
domainExtension

derivedDataType SmpAuthorizationDT
domainExtension

derivedDataType SptTriggertypeDT
domainExtension

derivedDataType String0to00005DT
domainExtension

derivedDataType String0to00010DT
domainExtension

derivedDataType String0to00020DT
domainExtension

derivedDataType String0to00032DT
domainExtension

derivedDataType String0to00070DT
domainExtension

derivedDataType String0to00100DT
domainExtension

derivedDataType String0to00128DT
domainExtension

derivedDataType String0to00128DT
domainExtension

derivedDataType String0to00256DT
domainExtension

derivedDataType String0to00256DT
domainExtension

derivedDataType String0to01024DT
domainExtension

derivedDataType String0to02048DT
domainExtension

derivedDataType String0to65535DT
domainExtension

derivedDataType String1to00010DT
domainExtension

derivedDataType String1to00032DT
domainExtension

derivedDataType String1to00064DT
domainExtension

derivedDataType String1to00100DT
domainExtension

derivedDataType String1to00128DT
domainExtension

derivedDataType String1to00128DT
domainExtension

derivedDataType String1to00255DT
domainExtension

derivedDataType String1to00256DT
domainExtension

derivedDataType String1to00256DT
domainExtension

derivedDataType String1to01024DT
domainExtension

derivedDataType String1to01024DT
domainExtension
old:  
new:  

derivedDataType String1to65535DT
domainExtension
old:  
new:  

derivedDataType StringCscfOfflineOmitVendorIdDT
domainExtension

derivedDataType StringDefaultDT
domainExtension

derivedDataType TelNoOrEmptyDT
domainExtension

derivedDataType TimerMin0to5DT
domainExtension

derivedDataType TimerMSec0to2000000000DT
domainExtension

derivedDataType TimerMSec0to30000DT
domainExtension

derivedDataType TimerMSec100to1000DT
domainExtension

derivedDataType TimerMSec180000to600000DT
domainExtension

derivedDataType TimerMSec1to180000DT
domainExtension

derivedDataType TimerMSec32000to300000DT
domainExtension

derivedDataType TimerSec0to30DT
domainExtension

derivedDataType TimerSec0to32DT
domainExtension

derivedDataType TimerSec0to32DT
domainExtension

derivedDataType TimerSec0to60DT
domainExtension

derivedDataType TrustedAsDT
domainExtension

derivedDataType TrustedGwDT
domainExtension

derivedDataType TrustedLrfDT
domainExtension

derivedDataType TrustedPaniGwDT
domainExtension

derivedDataType UnregisteredProfileTimerDT
domainExtension

derivedDataType UserAgentWhiteListDT
domainExtension

derivedDataType UserContactIn3rdPartyRegDT
domainExtension

derivedDataType UserDataDeletePotDT
domainExtension


  All Differences