Skip to main content

Extensions

Extensions are the foundation of your PBX system. They represent numbered endpoints that callers can reach directly or through routing configurations.

Purpose

Use this module to:

  • Create and manage extension endpoints
  • Assign extensions to users
  • Configure extension-specific routing
  • Sync user extensions to Cloudonix as SIP subscribers
  • Reset SIP passwords

Extension Types

OPBX supports multiple extension types for different use cases:

TypeValueDescriptionConfiguration
UseruserSIP phone extension for a personAssigned to a user, auto-generated SIP password
ConferenceconferenceRoutes to a conference roomSelect conference room
Ring Groupring_groupRoutes to a ring groupSelect ring group
IVRivrRoutes to an IVR menuSelect IVR menu
AI Assistantai_assistantRoutes to an AI providerSelect AI assistant
AI Load Balancerai_load_balancerRoutes to AI load balancerSelect load balancer
ForwardforwardForwards to external numberEnter phone number
Custom Logiccustom_logicCustom application routingContainer app/block name

Permissions

ActionOwnerPBX AdminPBX UserReporter
View extensionsYesYesYesYes
Create extensionsYesYesNoNo
Update extensionsYesYesOwn onlyNo
Delete extensionsYesYesNoNo

UI Workflow

Create an Extension

  1. Navigate to Extensions in the sidebar
  2. Click Create Extension
  3. Enter an extension number (3-5 digits, unique within your organization)
  4. Select the extension type
  5. Configure type-specific settings
  6. Save the extension
warning

Extension numbers cannot be changed after creation. If you need a different number, delete the extension and create a new one.

Reset a SIP Password

  1. Open the extension details
  2. Click Reset Password
  3. The new password displays immediately
  4. Update the SIP phone configuration
note

Resetting the SIP password disconnects any active registrations. The SIP phone must re-register with the new credentials.

Sync to Cloudonix

  1. Go to Extensions in the sidebar
  2. Click Sync to Cloudonix
  3. The system creates SIP subscribers for all USER-type extensions
  4. Compare local and Cloudonix state before confirming if desired

Cloudonix Synchronization

User extensions sync to Cloudonix as SIP subscribers. The sync lifecycle is:

  • Create USER: Auto-generate a 32-character hex password, insert into DB, then create the Cloudonix subscriber
  • Type change TO USER: Generate a password and sync to Cloudonix
  • Type change FROM USER: Remove the password and unsync from Cloudonix
  • Delete USER: Unsync from Cloudonix, then delete from DB
  • Bidirectional sync: Pushes local changes, imports Cloudonix subscribers, and aligns statuses

Key Data Fields

extensions Table

ColumnTypeNotes
idbigintPrimary key
organization_idFKTenant scope
user_idFK nullableOnly for USER type
extension_numberstring(5)3-5 digits, unique per org, immutable
passwordstring(32)SIP auth password (plain text for SIP client sharing)
typeenumuser, conference, ring_group, ivr, ai_assistant, custom_logic, forward, ai_load_balancer
statusenumactive, inactive
voicemail_enabledbooleanOnly for USER type
configurationJSONType-specific config
ai_assistant_idFK nullableDirect AI assistant link
cloudonix_subscriber_idstring nullableCloudonix sync tracking
MethodEndpointPurpose
GET/POST/PUT/DELETE/v1/extensions[/{extension}]Standard CRUD
GET/v1/extensions/sync/compareCompare local vs Cloudonix state
POST/v1/extensions/syncPerform bidirectional sync
GET/v1/extensions/{extension}/passwordView current SIP password
PUT/v1/extensions/{extension}/reset-passwordReset SIP password

See the OPBX REST API reference for full schemas.

Best Practices

Numbering Plan

Develop a consistent numbering plan for your organization:

  • Reserve 3-digit extensions for departments (for example, 100-199 for sales)
  • Use 4-digit extensions for individual users
  • Avoid numbers that conflict with feature codes

Security

  • Reset SIP passwords periodically
  • Disable extensions instead of leaving them active but unused
  • Monitor registration logs for unauthorized devices