Billing Bypass Rules

Billing Bypass Rules

Some calls may not need to be sent to the OCS for rating and can be handled directly by the DSG-SCP application. Billing bypass rules can be defined that allow behaviour to be specified in such cases. Rules are applied in the order listed until a match is made. Note that any call that matches a billing bypass rule will not be sent to the OCS for rating.

Once matched, various actions can be taken: allow the call to continue unbilled, play an announcement, etc. If a rule does not specify any matching criteria, it will always match; this should not generally be used as it will prevent all calls from going to the billing engine.

Billing bypass handling is similar to special number handling, but occurs after tag assignment so has access to more information for determining the action to apply.

Configuration Details

Each rule can support the following attributes:

| Attribute | Type | Description | | :-------: | :--: | :---------- | | `action` | String | **[Required]** The action to take when this rule is matched. Possible values are shown under [Error Handling Rule Actions](#billing-bypass-rule-actions). | | `tag` | String | **[Conditional]** The [tag](/config/dsg_scp/diameter/tags.html) name to match the value for If `tag` is present, `value` must also be present. | | `tag_x` | String | **[Conditional]** As for `tag`, but with `x` representing a unique pairing, e.g. `tag_1` or `tag_a`. A matching `value_x` must also be present. | | `value` | (various) | **[Conditional]** The string or integer value to match against during rule selection. Required when `tag` is present. | | `value_x` | (various) | **[Conditional]** As for `value`, but with `x` representing a unique pairing, e.g. `value_1` or `value_a`. A matching `tag_x` must also be present. | | `originating` | Boolean | Whether this rule applies for [MO calls](/applications/dsg_scp.html#traffic-type-determination).
(Default: `true`) | | `forwarding` | Boolean | Whether this rule applies for [MF calls](/applications/dsg_scp.html#traffic-type-determination).
(Default: `true`) | | `terminating` | Boolean | Whether this rule applies for [MT calls](/applications/dsg_scp.html#traffic-type-determination).
(Default: `true`) | | `cause` | Integer | The release cause to send to the network if the `action` releases the call.
(Default: 31) | | `seconds` | Integer | **[Required with `action` = `continue_period`]** The number of seconds a call to continue for unbilled, if appropriate to the `action`. | | `announcement_id` | Integer | **[Required with `action` = `announcement_release` or `announcement_connect`]** The announcement ID to play to the caller, if appropriate to the `action`. | | `srp_name` | Integer | **[Required with `action` = `announcement_release` or `announcement_connect`]** The SRP name (as configured in the `ScpApp`) to use to play an announcement to the caller, if appropriate to the `action`. | | `divert_to` | String | **[Required with `action` = `connect` or `announcement_connect`]** The normalised destination digits to connect the call to, if approrpiate to the `action`. | | (other available fields) | (various) | Any number of selector rule [available fields](/config/dsg_scp/diameter/selector_rules.html#available-fields). | Note that, unlike other [selector rules](/config/dsg_scp/diameter/selector_rules.html), the call state selectors `at_initial`, `at_update`, and `at_terminate` are not permitted, as billing bypass can only occur at the start of a call.

Billing Bypass Rule Actions

Each billing bypass rule allows the specification of a single action to take when a rule is matched during processing.

Note that all billing bypass rules are only applicable prior to initial interrogation, i.e. when the call is first received.

The following actions are available:

Action Required
Parameters
Optional
Parameters
Description
continue_free - - Allow the call to continue unmonitored on the network with no further rating interaction.
continue_period seconds Allow the call to continue monitored on the network for a limited time with no further rating interaction.
release - cause Release the call immediately with the given cause.
connect divert_to - Terminate the call to the provided divert_to with no further rating interaction.
announcement_release announcement_id
srp_name
cause Play announcement ID announcement_id on the resource srp_name (as configured under SRP Endpoints) and then apply handling as for release.
announcement_connect announcement_id
srp_name
divert_to
- Play announcement ID announcement_id on the resource srp_name (as configured under SRP Endpoints) and then apply handling as for connect.
abort - - Send a TC_ABORT to end the call immediately.