Operator Determined Barring provides call barring rules determined by the operator that take precedence over MMTelICB and MMTelOCB .
- What is ODB?
- ODB Data
- Enabling ODB
- Supported Barring Rule Conditions
- Enabling ODB
- Bar all outgoing communications
- Bar all outgoing international communications
- Bar all outgoing communications when international ex-hplmnc
- Bar all outgoing communications when roaming
- Bar all incoming communications
- Bar all incoming communications when roaming
- Bar Outgoing Premium-Rate Communication
- Operator Specific Barring Rules
- Bar Invocation of communication transfer
- Bar Management of Supplementary Services
- Bar Registration of Diverted To Address
What is ODB?
Operator determined barring is specified for IMS in the 3GPP specifications TS 24.315 and TS 22.041:
from TS 24.315
The network feature Operator Determined Barring (ODB) allows a network operator or service provider to regulate access to IMS subsystem services, by the barring of certain categories of incoming or outgoing communications, the barring of certain categories of roaming and the barring of certain categories of supplementary services configuration and invocation. |
The Sentinel VoLTE TAS provides an extension to standard ODB that allows the operator to retarget outbound calls to an arbitrary destination. See How to provision the Operator Specific Barring rules for details of how to enable this functionality, and MMTelOCB Behaviour for details of how it is executed.
ODB Data
The ODB data is stored as transparent data in the HSS. The SubscriberDataLookupFromHSS feature is responsible to retrieve the ODB data from the HSS. The SubscriberDataLookupFromHSS Configuration should contain the service indication as IMS-ODB-Information
and the proper codec
.
The SubscriberDataLookupFromHSS queries the HSS and if the operator had configured any ODB rules for that subscriber then user data will be returned, parsed and then stored in a session state field MMTelODBServiceData
. The MMTelICB and MMTelOCB will use the session state field MMTelODBServiceData
to evaluate the ODB conditions before the subscriber defined conditions.
Enabling ODB
ODB can be enabled using the DisableQuery option in the SubscriberDataLookupFromHSS. The sdk installer provides an option for setting DisableQuery
on IMS and DisableQuery
on MMTel.
Enabling ODB
The HSS IMS-ODB-Information
query can be enabled using the DisableQuery
option in the SubscriberDataLookupFromHSS.
Bar all outgoing communications
Bar all of the outgoing communications, The OutgoingBarring tag is set to "0".
<?xml version="1.0" encoding="utf-8"?> <Sh-Data> <RepositoryData> <ServiceIndication>IMS-ODB-Information</ServiceIndication> <SequenceNumber>1</SequenceNumber> <ServiceData> <OdbForImsOrientedServices xmlns="odb.mmtel.sentinel.volte.opencloud.com"> <OdbForImsMultimediaTelephonyServices> <OutgoingBarring>0</OutgoingBarring> </OdbForImsMultimediaTelephonyServices> </OdbForImsOrientedServices> </ServiceData> </RepositoryData> </Sh-Data>
Bar all outgoing international communications
Barring of all outgoing communications to international destinations. The OutgoingBarring tag is set to "1".
<?xml version="1.0" encoding="utf-8"?> <Sh-Data> <RepositoryData> <ServiceIndication>IMS-ODB-Information</ServiceIndication> <SequenceNumber>1</SequenceNumber> <ServiceData> <OdbForImsOrientedServices xmlns="odb.mmtel.sentinel.volte.opencloud.com"> <OdbForImsMultimediaTelephonyServices> <OutgoingBarring>1</OutgoingBarring> </OdbForImsMultimediaTelephonyServices> </OdbForImsOrientedServices> </ServiceData> </RepositoryData> </Sh-Data>
Bar all outgoing communications when international ex-hplmnc
Barring of all outgoing communications to international destinations excluding home network. The OutgoingBarring tag is set to "2".
<?xml version="1.0" encoding="utf-8"?> <Sh-Data> <RepositoryData> <ServiceIndication>IMS-ODB-Information</ServiceIndication> <SequenceNumber>1</SequenceNumber> <ServiceData> <OdbForImsOrientedServices xmlns="odb.mmtel.sentinel.volte.opencloud.com"> <OdbForImsMultimediaTelephonyServices> <OutgoingBarring>2</OutgoingBarring> </OdbForImsMultimediaTelephonyServices> </OdbForImsOrientedServices> </ServiceData> </RepositoryData> </Sh-Data>
Bar all outgoing communications when roaming
Barring of all outgoing communications roaming outside the home PLMN country. The OutgoingBarring tag is set to "3".
<?xml version="1.0" encoding="utf-8"?> <Sh-Data> <RepositoryData> <ServiceIndication>IMS-ODB-Information</ServiceIndication> <SequenceNumber>1</SequenceNumber> <ServiceData> <OdbForImsOrientedServices xmlns="odb.mmtel.sentinel.volte.opencloud.com"> <OdbForImsMultimediaTelephonyServices> <OutgoingBarring>3</OutgoingBarring> </OdbForImsMultimediaTelephonyServices> </OdbForImsOrientedServices> </ServiceData> </RepositoryData> </Sh-Data>
Bar all incoming communications
Barring of all incoming communications, the IncomingBarring tag is set to "0".
<?xml version="1.0" encoding="utf-8"?> <Sh-Data> <RepositoryData> <ServiceIndication>IMS-ODB-Information</ServiceIndication> <SequenceNumber>1</SequenceNumber> <ServiceData> <OdbForImsOrientedServices xmlns="odb.mmtel.sentinel.volte.opencloud.com"> <OdbForImsMultimediaTelephonyServices> <IncomingBarring>0</IncomingBarring> </OdbForImsMultimediaTelephonyServices> </OdbForImsOrientedServices> </ServiceData> </RepositoryData> </Sh-Data>
Bar all incoming communications when roaming
Barring of all incoming communications when roaming outside the home PLMN country. The IncomingBarring tag is set to "1".
<?xml version="1.0" encoding="utf-8"?> <Sh-Data> <RepositoryData> <ServiceIndication>IMS-ODB-Information</ServiceIndication> <SequenceNumber>1</SequenceNumber> <ServiceData> <OdbForImsOrientedServices xmlns="odb.mmtel.sentinel.volte.opencloud.com"> <OdbForImsMultimediaTelephonyServices> <IncomingBarring>1</IncomingBarring> </OdbForImsMultimediaTelephonyServices> </OdbForImsOrientedServices> </ServiceData> </RepositoryData> </Sh-Data>
Bar Outgoing Premium-Rate Communication
The premium-rate barring options can be described as follows:
Option | Description |
---|---|
PremiumRateCommunicationsInformation |
Bar all outgoing communications where the request URI has a "premium-rate" parameter with the value "information". |
PremiumRateCommunicationsEntertainment |
Bar all outgoing communications where the request URI has a "premium-rate" parameter with the value "entertainment". |
PremiumRateCallsInformationWhenRoamingOutsideHplmnCountry |
The same as 'PremiumRateCommunicationsInformation' but only for communications that are roaming outside of the Home PLMN Country. |
PremiumRateCallsEntertainmentWhenRoamingOutsideHplmnCountry |
The same as 'PremiumRateCommunicationsEntertainment' but only for communications that are roaming outside of the Home PLMN Country. |
Certain prefix-based Barring Treatments will also affect the matching of these premium-rate barring options.
The information on ODB data in the HSS indicates which options should be evaluated.
Example XML:
<?xml version="1.0" encoding="utf-8"?> <Sh-Data> <RepositoryData> <ServiceIndication>IMS-ODB-Information</ServiceIndication> <SequenceNumber>1</SequenceNumber> <ServiceData> <OdbForImsOrientedServices xmlns="odb.mmtel.sentinel.volte.opencloud.com"> <OdbForImsMultimediaTelephonyServices> <OutgoingPremiumRateBarring> <PremiumRateCommunicationsInformation> true </PremiumRateCommunicationsInformation> <PremiumRateCommunicationsEntertainment> true </PremiumRateCommunicationsEntertainment> <PremiumRateCallsInformationWhenRoamingOutsideHplmnCountry> true </PremiumRateCallsInformationWhenRoamingOutsideHplmnCountry> <PremiumRateCallsEntertainmentWhenRoamingOutsideHplmnCountry> true </PremiumRateCallsEntertainmentWhenRoamingOutsideHplmnCountry> </OutgoingPremiumRateBarring> </OdbForImsMultimediaTelephonyServices> </OdbForImsOrientedServices> </ServiceData> </RepositoryData> </Sh-Data>
Operator Specific Barring Rules
The Operator Specific Barring Types conditions specifies 4 types of user defined rules. The rules are stored in the VoLTE profiles and follow the same schema for Simservs RuleSet. The information on ODB data in the HSS just indicates which rule types should be evaluated.
The example below indicated that all 4 rules should be evaluated.
<?xml version="1.0" encoding="utf-8"?> <Sh-Data> <RepositoryData> <ServiceIndication>IMS-ODB-Information</ServiceIndication> <SequenceNumber>1</SequenceNumber> <ServiceData> <OdbForImsOrientedServices xmlns="odb.mmtel.sentinel.volte.opencloud.com"> <OdbForImsMultimediaTelephonyServices> <OperatorSpecificBarring> <Type1>true</Type1> <Type2>true</Type2> <Type3>true</Type3> <Type4>true</Type4> </OperatorSpecificBarring> </OdbForImsMultimediaTelephonyServices> </OdbForImsOrientedServices> </ServiceData> </RepositoryData> </Sh-Data>
Bar Invocation of communication transfer
This condition prevents the Explicit Call Transfer feature MMTelECT from running. The conditions are:
Condition | Description |
---|---|
SimpleInvocationOfCommunicationTransferBarring |
Prevents user-invoked call transfers from happening. Has three options:
|
InvocationOfChargeableCommunicationTransferBarring |
Prevents user-invoked call transfers when both calls are charged to the served user. Not Supported |
MultipleInvocationOfCommunicationTransferBarring |
Prevents a user-invoked call transfer when there is an existing transferred call for the served user. |
<?xml version="1.0" encoding="utf-8"?> <Sh-Data> <RepositoryData> <ServiceIndication>IMS-ODB-Information</ServiceIndication> <SequenceNumber>1</SequenceNumber> <ServiceData> <OdbForImsOrientedServices xmlns="odb.mmtel.sentinel.volte.opencloud.com"> <OdbForImsMultimediaTelephonyServices> <SimpleInvocationOfCommunicationTransferBarring> 0 </SimpleInvocationOfCommunicationTransferBarring> <InvocationOfChargeableCommunicationTransferBarring> true </InvocationOfChargeableCommunicationTransferBarring> <MultipleInvocationOfCommunicationTransferBarring> true </MultipleInvocationOfCommunicationTransferBarring> </OdbForImsMultimediaTelephonyServices> </OdbForImsOrientedServices> </ServiceData> </RepositoryData> </Sh-Data>
Bar Management of Supplementary Services
This condition is evaluated during provisioning time when the subscriber tries to change its own supplementary services configuration via XCAP Interface. If the condition is set to true the XCAP servers will deny any change to subscriber change attempt.
<?xml version="1.0" encoding="utf-8"?> <Sh-Data> <RepositoryData> <ServiceIndication>IMS-ODB-Information</ServiceIndication> <SequenceNumber>1</SequenceNumber> <ServiceData> <OdbForImsOrientedServices xmlns="odb.mmtel.sentinel.volte.opencloud.com"> <OdbForImsMultimediaTelephonyServices> <BarringOfSupplementaryServicesManagement> true </BarringOfSupplementaryServicesManagement> </OdbForImsMultimediaTelephonyServices> </OdbForImsOrientedServices> </ServiceData> </RepositoryData> </Sh-Data>
Bar Registration of Diverted To Address
This condition is evaluated during provisioning time when the subscriber tries to change the target to address of the supplementary services via XCAP Interface.
Currently the diverted to address is present at the Communication Diversion (CDIV) settings.
It is the <target>
sub-element of the <forward-to>
element in a CDIV rule’s actions.
The bar condition can have the following values:
-
0 Barring of Registration of any communication diverted-to address
-
currently supported
-
-
1 Barring of Registration of any international communication diverted-to address
-
not supported yet
-
-
2 Barring of Registration of any international communication diverted-to address EXHPLMNC
-
not supported yet
-
<?xml version="1.0" encoding="utf-8"?> <Sh-Data> <RepositoryData> <ServiceIndication>IMS-ODB-Information</ServiceIndication> <SequenceNumber>1</SequenceNumber> <ServiceData> <OdbForImsOrientedServices xmlns="odb.mmtel.sentinel.volte.opencloud.com"> <OdbForImsMultimediaTelephonyServices> <DivertedToAddressRegistrationBarring> 0 </DivertedToAddressRegistrationBarring> </OdbForImsMultimediaTelephonyServices> </OdbForImsOrientedServices> </ServiceData> </RepositoryData> </Sh-Data>