What it does

Call barring is a set of MMTel services that conditionally bar calls using a combination of system-wide and per subscriber rules.

  • Incoming Call Barring (ICB) bars incoming calls based on per subscriber rules written using common-policy schema (for example, a subscriber may set up Do Not Disturb, to bar all calls).

    • Anonymous Call Rejection (ACR) bars incoming calls from anonymous callers.

  • Outgoing Call Barring (OCB) bars outgoing calls based on per subscriber rules written using common-policy schema.

  • Operator Determined Barring (ODB) is a fixed set of barring conditions, each enabled or not per subscriber.

    • Operator Specific Barring (OSB) is a subset of ODB containing four rules each enabled or not per subscriber, but where the system-wide conditions and actions are configured using common-policy schema. Additionally, the action when these rules trigger may be augmented to retarget the call, with an ability to disable charging, and/or use a rule-specific announcement in this case.

    • Prefix barring uses dialed number rules to either explicitly allow or bar an outgoing call, or to effectively force a match condition for some of the ODB conditions, including the OSB rules.

Announcements may be set to be played to the caller when a call is barred.

Interactions with other services

Communications Diversion (CDIV)

Call barring for incoming calls is applied before MMTel CDIV, so any barred incoming call will not be subject to forwarding.

However, an inbound call which is not barred but then forwarded will have outbound barring processing applied to the outbound forwarded call.

Vertical service codes with XCAP data update

Vertical service codes in combination with XCAP data update may change subscriber data, affecting subscriber ICB and OCB rules, and enabling or disabling ODB rules for a subscriber.

ODB rules may prevent changes to subscriber data, both via vertical service codes with XCAP data update, and when using XCAP directly from user equipment.

International Call Management (ICM)

Call barring takes precedence over the ICM service. This means that if the call barring service does bar the call, the ICM service announcements will not be played.

Configuration

The example for sentinel-volte-gsm-config.yaml and example for sentinel-volte-cdma-config.yaml show example configuration relevant to call barring in the sentinel-volte/mmtel/communication-barring section.

What you need

  • ❏ Whether the system should process or ignore international and international-exHC barring rules based on the reliability of determining that an incoming call is international.

  • ❏ The ID of an optional announcement to play when an incoming call is barred due to an anonymous caller.

  • ❏ The ID of an optional announcement to play when an incoming call is barred otherwise.

  • ❏ The ID of an optional announcement to play when an outgoing call is barred.

  • ❏ For up to four operator specific barring rules:

    • ❏ The common policy ruleset which defines the conditions and action for the rule.

    • ❏ Whether to retarget the call and if so:

      • ❏ the URL target

      • ❏ the ID of an optional announcement to play

      • ❏ whether to disable charging.

Setting up announcements

Call barring configuration only needs the announcement ID of the announcements that should be played. The details of those announcements should be configured beforehand. For details about how to do this, see Announcements.

Setting up call barring

I want to…​


Enable ODB

In the hss-queries-enabled section, set odb to true:

            odb: true
Disable ODB

In the hss-queries-enabled section, set odb to false:

            odb: false

Setting up incoming call barring

I want to…​

Use the same announcement for all incoming barred calls

In the incoming-communication-barring, announcement section, set the same announcement ID for both announcements:

                 announcement:
                    announcement-id: 21
                    anonymous-call-rejection-announcement-id: 21
Use a different announcement for barred incoming anonymous calls

In the incoming-communication-barring, announcement section, set separate announcement IDs for the two announcements:

                 announcement:
                    announcement-id: 21
                    anonymous-call-rejection-announcement-id: 22
For barred incoming calls, only play an announcement when it is anonymously barred

In the incoming-communication-barring, announcement section, remove or comment out the announcement-id.

                 announcement:
                    # announcement-id: 21
                    anonymous-call-rejection-announcement-id: 22
For barred incoming calls, only play an announcement when it is not anonymously barred
                 announcement:
                    announcement-id: 21
                    # anonymous-call-rejection-announcement-id: 22
Enable evaluation of incoming international barring rules
                international-rules-active: true

Setting up outbound call barring

I want to…​

Play an announcement for barred outgoing calls
                announcement:
                    announcement-id: 20
Not play an announcement for barred outgoing calls

In the outgoing-communication-barring section, delete or comment out the whole announcement section.

                # announcement:
                #    announcement-id: 20
Bar a suspended subscriber from making any calls, redirecting them to a specific number
  • Ensure ODB is enabled. See Enable ODB above.

  • Choose an OSB rule number to use.

    (considering what types are spare and the desired priority of this and existing rules)

  • Ensure this OSB rule is disabled for all subscribers.

    out of scope of this document

  • Set the OSB rule to:

    • bar all outbound calls

    • retarget any outbound call to the call center

    • optionally set up a specific announcement to play to the subscriber before retargeting the call

    • disable online charging for the call.

            operator-communication-barring:
                operator-barring-rules:
                    type1:
                        rule: # Bar outgoing calls
                            <cp:ruleset
                                xmlns="http://uri.etsi.org/ngn/params/xml/simservs/xcap"
                                xmlns:cp="urn:ietf:params:xml:ns:common-policy"
                            >
                                <cp:rule id="bar-outgoing--enabled-when-out-of-credit">
                                    <cp:conditions>
                                        <outgoing/>
                                    </cp:conditions>
                                    <cp:actions>
                                        <allow>false</allow>
                                    </cp:actions>
                                </cp:rule>
                            </cp:ruleset>
                        retarget:
                            retarget-uri: sip:payments@pay.your.bill.com
                            disable-online-charging-on-retarget: true
                            announcement:
                                announcement-id: 23
  • Enable this OSB rule in subscriber data for suspended subscribers.

    out of scope of this document

Setting up prefix based barring

Prefix based barring provides a mechanism for an operator to augment the implicit or explicit condition of a MMTel OCB barring rule, so that the rule will also apply when the called party number matches some prefix with optional length criteria.

Because the same prefix can be treated differently (for example, depending on whether it is national or international), and multiple prefixes may all need to be treated the same way, the configuration is split into a list of prefixes and a list of classifications.

Each prefix has a list of classifications that may apply.

Each classification has further predicates to see if the classification is applicable to the call (minimum-number-length, maximum-number-length and match-international). If it is, the classification specifies the barring treatment of that call, and can optionally override the normal barring announcements.

Prefix barring interactions with other OCB features

There are different types of OCB rules, in the following overall order of priority:

  • Prefix based OperatorAllow

  • Operator-specific ODB rules that allow a call, regardless whether applied by matching their defined condition, or by prefix based treatment

  • Prefix based OperatorBar

  • Operator-specific ODB rules that bar a call, regardless whether applied by matching their defined condition, or by prefix based treatment

  • Prefix based premium-rate communication barring

  • Standard ODB rules

  • OCB rules

Within rules of the same type, an allow action will always take precedence over a barring or retargeting action.

If multiple operator-specific ODB rules apply and have conflicting retarget or barring actions, then the rule with the lower number will take precedence. (There are four slots available for operator-specific ODB rules, numbered one through four).

I want to…​

Treat 90077xxxxx numbers as premium rate entertainment for barring purposes and use a custom announcement when barred

In outgoing-prefix-barring, add a classification and map that prefix to it. In this case we use the maximum value for maximum-number-length to prevent this barring rule being circumvented by overdialing.

              outgoing-prefix-barring:
                  prefixes:
                      - prefix: '90077'
                        classifications:
                            - 'premium rate entertainment'
                  classifications:
                      - name: 'premium rate entertainment'
                        minimum-number-length: 10
                        maximum-number-length: 20
                        match-international: false
                        barring-treatment: 'PremiumRateEntertainment'
                        announcement:
                          announcement-id: 27
Treat all other 9007xxxxxx numbers as premium rate information services for barring purposes

In outgoing-prefix-barring, extend the above scenario by adding a new prefix and a new classification. This works because a call will match the longest prefix.

              outgoing-prefix-barring:
                  prefixes:
                      - prefix: '90077'
                        classifications:
                            - 'premium rate entertainment'
                      - prefix: '9007'
                        classifications:
                            - 'premium rate info'
                  classifications:
                      - name: 'premium rate entertainment'
                        minimum-number-length: 10
                        maximum-number-length: 20
                        match-international: false
                        barring-treatment: 'PremiumRateEntertainment'
                      - name: 'premium rate info'
                        minimum-number-length: 10
                        maximum-number-length: 20
                        match-international: false
                        barring-treatment: 'PremiumRateInformation'
Bar all calls to 8xx numbers without playing an announcement, but with no prefix barring handling for calls to 801

In outgoing-prefix-barring, we need to be explicit about all the 80x prefixes excluding 801, and all the remaining 8x prefixes, mapping them all to the same classification.

              outgoing-prefix-barring:
                  prefixes:
                      - prefix: '800'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '802'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '803'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '804'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '805'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '806'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '807'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '808'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '809'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '81'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '82'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '83'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '84'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '85'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '86'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '87'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '88'
                        classifications:
                            - 'barred shortcodes'
                      - prefix: '89'
                        classifications:
                            - 'barred shortcodes'
                  classifications:
                      - name: 'barred shortcodes'
                        minimum-number-length: 3
                        maximum-number-length: 3
                        match-international: false
                        barring-treatment: 'OperatorBar'
                        disable-ocb-announcement: true
Override any other barring rules to always allow calls to one specific number

In outgoing-prefix-barring, add a classification with barring-treatment set to OperatorAllow and matching exact number length, and map this from the complete number to that classification.

              outgoing-prefix-barring:
                  prefixes:
                      - prefix: '900123456'
                        classifications:
                            - 'explicit allowed 9 digit numbers'
                  classifications:
                      - name: 'explicit allowed 9 digit numbers'
                        minimum-number-length: 9
                        maximum-number-length: 9
                        match-international: false
                        barring-treatment: 'OperatorAllow'
Bar calls to 60000 whether or not the call is international

In outgoing-prefix-barring, add two classifications, one for national and one for international, but otherwise the same, then map the prefix to both classifications.

              outgoing-prefix-barring:
                  prefixes:
                      - prefix: '60000'
                        classifications:
                            - 'bar me'
                            - 'bar me - intl'
                  classifications:
                      - name: 'bar me'
                        minimum-number-length: 5
                        maximum-number-length: 5
                        match-international: false
                        barring-treatment: 'OperatorBar'
                      - name: 'bar me - intl'
                        minimum-number-length: 5
                        maximum-number-length: 5
                        match-international: true
                        barring-treatment: 'OperatorBar'
Previous page Next page
Rhino VoLTE TAS Version 4.0.0