Closed User Groups

Introduction

The DSG-SCP platform provides a Closed User Group service that allows users within such groups to contact each other via a short code. This processing is optionally done as an external action prior to billing interaction.

CUG Concepts

The Closed User Group service has a number of important concepts (bolded below) within it:

CUG Call Processing

When a call requiring CUG processing is received, the following logic is used:

  1. While no User is found, attempt to find a User (in order):
    1. By Long Number as a Single Number, then
    2. By Long Number as a Number Range in ascending Range Size order, then
    3. By Long Number as a Number Prefix in descending Prefix size, then
    4. If enabled, repeat the previous three steps using Short Code instead of Long Number.
  2. If no User is found, ignore further processing and apply the no_user_found action rules.
  3. While no match to another User is found, attempt to find another User (in order):
    1. If enabled, by Short Code as an Actual User by Single Number, then Number Range, then Number Prefix, then
    2. By Long Number as an Actual User by Single Number, then Number Range, then Number Prefix, then
    3. If enabled, by Short Code as a Virtual User by Single Number, then Number Range, then Number Prefix, then
    4. By Long Number as a Virtual User by Single Number, then Number Range, then Number Prefix.
  4. If configured, while no Number List is found, attempt to find a Number List and check (in order):
    1. If both a Blacklist and a Whitelist match the other party and the Blacklist matches more deeply, ignore further processing and apply the not_allowed_list action rules.
    2. If both a Blacklist and a Whitelist match the other party and the Whitelist matches more deeply, skip further list processing.
    3. If only a Blacklist matches the other party, ignore further processing and apply the not_allowed_list action rules.
    4. If only a Whitelist matches the other party, skip further list processing.
    5. If no Number Lists match the other party and other Whitelists exist for the User’s Group, ignore further processing and apply the not_allowed_list action rules.
  5. If the call is not allowed by the User’s Origination/Termination On-Net/Off-Net settings, ignore further processing and apply the not_allowed_user action rules.
  6. If a match was found:
    1. If the matched other User has a non-zero Range Size, update its Long Number and Short Code suffix according to the received input digits.
    2. If in an originating call, set the Connect destinationRoutingAddress to the Long Number of the matched other User.
    3. If in a terminating call, and if configured, and if it exists, set the caller Short Code in the Connect callingPartyNumber.
    4. If configured, send the appropriate FurnishChargingInformation/SendChargingInformation message accordingly with the Connect/Continue.

Note that database information is not cached; changes are reflected immediately.

Refer to the CUG configuration documentation for additional detail.

CUG API

The N-Squared DSG-SCP Closed User Groups solution supports a REST API for the management of CUG data. The API is documented in OpenAPI (Swagger) API documents (yaml formatted).

Access the full API here.