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
| Tier | PBX Instances |
|---|---|
| Community | 1 instance |
| Professional | 1 instance (default) |
| Enterprise | Multiple 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
| Setting | Description | Example |
|---|---|---|
| Host | Database server hostname or IP | 192.168.1.10 or db.example.com |
| Port | Database port | 5432 (PostgreSQL) or 3306 (MySQL) |
| Database | Database name | fusionpbx |
| User | Database username | fusionpbx |
| Password | Database 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
| Setting | Description | Example |
|---|---|---|
| Host | FreeSWITCH/ESL hostname or IP | Same as FusionPBX or 127.0.0.1 |
| Port | ESL port (default 8021) | 8021 |
| Password | ESL 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:
- Database — CrystalQore can connect and query the FusionPBX database
- 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:
| Status | Description |
|---|---|
| Connected | Database and ESL both operational |
| Database OK, ESL Down | Database works; ESL unreachable |
| ESL OK, Database Down | ESL works; database unreachable |
| Disconnected | Both 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
ClueConin 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
Related Documentation
| Page | Description |
|---|---|
| Multi-PBX Management | Manage multiple instances (Enterprise) |
| FusionPBX Sync | Sync users and extensions |
| Tenant Management | Assign tenants to PBX instances |