CrystalQore

PBX Instance Management

Connect CrystalQore to FusionPBX. Add instances with database and ESL connections, test connections, monitor status, sync users. Community: 1 instance, Enterprise: multiple.

PBX Instance Management

PBX instance management lets you connect CrystalQore to your FusionPBX installation. Each PBX instance represents one FusionPBX server. CrystalQore uses the database connection for user data and CDR, and the ESL (Event Socket Layer) connection for real-time events such as call state and presence.

Overview

CrystalQore integrates with FusionPBX to provide:

  • User and extension sync — Import users and extensions from FusionPBX
  • Call routing — Click2Dial and call handling
  • CDR (Call Detail Records) — Call history and analytics
  • Presence (BLF) — Real-time line status
  • ESL events — Real-time call state for the dashboard and softphone

Tier Support

TierPBX Instances
Community1 instance
Professional1 instance (default)
EnterpriseMultiple instances

For multiple FusionPBX instances, you need the Enterprise tier. See Multi-PBX Management for details.

Adding a PBX Instance

Navigate to Admin → PBX Instances — Open the PBX instance management page.

Click Add Instance — Start the configuration form.

Enter name — A descriptive name (e.g., "Main Office PBX", "HQ FusionPBX").

Enter hostname — The hostname or IP of your FusionPBX server.

Configure database connection — Host, port, database name, user, password.

Configure ESL connection — Host, port, password.

Test connection — Verify both database and ESL before saving.

Save — Add the instance. It will appear in the instance list.

Database Connection

The database connection is used for:

  • User and extension synchronization
  • Call Detail Records (CDR)
  • Domain and group data

Database Settings

SettingDescriptionExample
HostDatabase server hostname or IP192.168.1.10 or db.example.com
PortDatabase port5432 (PostgreSQL) or 3306 (MySQL)
DatabaseDatabase namefusionpbx
UserDatabase usernamefusionpbx
PasswordDatabase password(stored encrypted)

Use a database user with read access to the FusionPBX schema. Write access is typically not required. Ensure firewall rules allow CrystalQore to reach the database.

ESL Connection

The Event Socket Layer (ESL) connection provides real-time events from FreeSWITCH (the engine behind FusionPBX):

  • Call state (ringing, answered, hung up)
  • Presence (BLF) updates
  • Channel events for dashboard and softphone

ESL Settings

SettingDescriptionExample
HostFreeSWITCH/ESL hostname or IPSame as FusionPBX or 127.0.0.1
PortESL port (default 8021)8021
PasswordESL password (from FreeSWITCH)ClueCon (change in production)

The default ESL password is ClueCon. Change this in FreeSWITCH for production deployments. Ensure the ESL port is accessible from the CrystalQore server.

Testing the Connection

Before saving a new instance, use Test Connection to verify:

  1. Database — CrystalQore can connect and query the FusionPBX database
  2. ESL — CrystalQore can connect to the Event Socket Layer

If either test fails, check:

  • Network connectivity (firewall, routing)
  • Credentials (username, password)
  • Port accessibility
  • Database/FreeSWITCH service status on the FusionPBX server

Monitoring Connection Status

The PBX instance list shows connection status for each instance:

StatusDescription
ConnectedDatabase and ESL both operational
Database OK, ESL DownDatabase works; ESL unreachable
ESL OK, Database DownESL works; database unreachable
DisconnectedBoth connections failed

Status is typically refreshed on page load or periodically. Address failures promptly—users may lose real-time features (presence, call state) or sync capabilities when connections are down.

Syncing Users from FusionPBX

After adding a PBX instance, you can sync users and extensions from FusionPBX to CrystalQore:

  • Creates CrystalQore user accounts for FusionPBX users
  • Updates extensions, domains, and groups
  • Matches users by email or extension identifier

See FusionPBX Sync for step-by-step sync instructions.

Editing and Removing Instances

  • Edit — Update name, hostname, or connection settings. Test connection after changes.
  • Remove — Delete the instance. Tenants assigned to this instance will need to be reassigned first.

Removing a PBX instance does not delete tenant or user data. Reassign tenants to another instance before removal.

Best Practices

  • Use descriptive names — "HQ PBX" is clearer than "Instance 1"
  • Restrict database user — Grant only necessary read permissions
  • Change ESL password — Do not use default ClueCon in production
  • Monitor status regularly — Set up alerts if connection monitoring is available
  • Document credentials — Store in a secure vault; avoid plain-text in config files
PageDescription
Multi-PBX ManagementManage multiple instances (Enterprise)
FusionPBX SyncSync users and extensions
Tenant ManagementAssign tenants to PBX instances

On this page