Skip to main content

Inbound Blacklist

The Inbound Blacklist module blocks unwanted inbound calls using pattern matching. Rules can apply globally or to specific DIDs.

Purpose

Use this module to:

  • Block spam, robocalls, or unwanted callers
  • Match caller IDs by exact number, prefix, or wildcard
  • Choose how blocked calls are handled (drop, reject, or torment)
  • Review blocked call logs and statistics

Match Types

TypeBehaviorExample
ExactExact match+14155551234
PrefixStarts with pattern+1415
Wildcardfnmatch pattern with * and ?+1*555*

Rejection Strategies

StrategyBehavior
DropSilent hangup
RejectPlay a rejection message, then hang up
TormentPut the caller into a conference with hold music for a configurable timeout

Scope

Rules can be:

  • Global: Apply to all inbound calls for the organization
  • Per-DID: Apply only to calls arriving on selected DIDs

Permissions

ActionOwnerPBX AdminPBX UserReporter
View blacklistYesYesYesYes
Create blacklist entriesYesYesNoNo
Update blacklist entriesYesYesNoNo
Delete blacklist entriesYesYesNoNo

UI Workflow

Add a Blacklist Entry

  1. Navigate to Inbound Blacklist in the sidebar
  2. Click Add Rule
  3. Enter the caller ID pattern
  4. Select the match type
  5. Choose the rejection strategy
  6. Select whether the rule is global or apply it to specific DIDs
  7. Save

Review Blocked Calls

  1. Open the Blocked Calls tab
  2. View the caller ID, called number, rejection strategy, and timestamp
  3. Use this data to refine your rules

View Statistics

The Statistics endpoint returns cached aggregate metrics, such as total blocked calls and breakdowns by strategy.

Key Data Fields

inbound_blacklists Table

ColumnTypeNotes
idbigintPrimary key
organization_idFKTenant scope
match_typeenumexact, prefix, wildcard
caller_id_patternstringPattern to match
is_globalbooleanApply to all DIDs
rejection_strategyenumdrop, reject, torment
torment_room_prefixstring
torment_music_timeoutinteger
statusenumactive, inactive
blocked_countinteger

blocked_call_logs Table

ColumnTypeNotes
organization_idFKTenant scope
inbound_blacklist_idFKMatching rule
did_number_idFKTarget DID
caller_idstring
called_numberstring
call_sidstring
session_idstring
rejection_strategyenum
blocked_atdatetime
MethodEndpointPurpose
GET/POST/PUT/DELETE/v1/inbound-blacklist[/{inboundBlacklist}]Standard CRUD
PATCH/v1/inbound-blacklist/{inboundBlacklist}/toggle-statusToggle active status
GET/v1/inbound-blacklist/blocked-callsBlocked call logs
GET/v1/inbound-blacklist/statisticsAggregate statistics

See the OPBX REST API reference for full schemas.