ICTCore manages the PBX configuration stored in PostgreSQL. All PBX objects (extensions, ring groups, IVR, etc.) are written directly to the ICTCore PBX PostgreSQL database.
PostgreSQL Credentials
Stored in the [fusionpbx] section of /usr/ictcore/etc/ictcore.conf:
[fusionpbx]
host = 127.0.0.1
port = 5432
name = fusionpbx
user = fusionpbx
pass = "<generated at install>"
-h 127.0.0.1 when connecting via psql. The pg_hba.conf requires TCP with MD5 auth. Peer/socket auth isn’t configured.Connecting to PostgreSQL
PGPASSWORD="" psql -h 127.0.0.1 -U fusionpbx -d fusionpbx
Key Tables
| Table | Content |
|---|---|
v_extensions |
SIP extensions |
v_devices |
Registered devices |
v_ring_groups |
Ring group definitions |
v_call_center_queues |
Call queues |
v_call_center_tiers |
Queue agent assignments |
v_ivr_menus + v_ivr_menu_options |
IVR definitions |
v_voicemails |
Voicemail boxes |
v_conference_centers |
Conference rooms |
v_gateways |
SIP trunks |
v_destinations |
Inbound DIDs |
v_dialplans |
Dialplan rules |
v_domains |
Tenant domains |
Tenant Domain Mapping
Each ICTPBX tenant maps to a PBX domain via tenant.fpbx_domain_uuid. The ICTCore domain resolver handles this mapping automatically.
Reloading FreeSWITCH
When you save in the portal, ICTCore regenerates the FreeSWITCH XML and reloads it for you. Editing these tables with SQL doesn’t regenerate anything, so make changes through the portal or the API. To reload by hand, use the ESL password from the [freeswitch] section of ictcore.conf:
fs_cli -p "$ESL_PASS" -x reloadxml