Infrastructure
Managing regions, registering server nodes, and monitoring real-time capacity.
The Infrastructure tab is where you map the physical topology of your deployment to the logical database. You use this to register servers, configure regional storage, and monitor live traffic.
1. The Dashboard
The top-level view provides a real-time pulse of the entire cluster.
- Live Conversations: The total number of active Phone and Web sessions across all regions.
- Outbound Pipeline:
- Processing: Calls currently being dialed or handled by the Proxy.
- Pending: Calls sitting in the queue waiting for a slot.
- Capacity (Active/Total):
- Backend Nodes: How many Audio Processors are online vs. total registered.
- Proxy Nodes: How many Gateways are online vs. total registered.
Health Check
If Capacity shows 0/4, it means your servers are registered in the DB but are not sending heartbeats. Check your firewall and appsettings.json configuration.
2. Managing Regions
Iqra AI is a multi-region system. A Region is a logical group of resources (Servers + Storage) located in the same geographic area (e.g., US-EAST, OM-MCT).
Creating a Region
- Navigate to the Regions tab.
- Click Add New Region.
- Country: Select the physical location (for flag display).
- Region Name: An internal identifier (e.g.,
us-east-1).- Note: The resulting Region ID is what you put in your
appsettings.json.
- Note: The resulting Region ID is what you put in your
Regional S3 Storage
Each region can have its own Object Storage bucket to minimize audio latency.
- Click on a Region card to enter details.
- Go to the S3 Storage tab.
- Enter your credentials:
- Endpoint URL: The internal address (e.g.,
http://rustfs:9000or AWS URL). - Access/Secret Keys: Your storage credentials.
- SSL: Enable if using HTTPS.
- Endpoint URL: The internal address (e.g.,
Why Regional Storage?
When an agent in US-EAST generates audio, it saves it to this specific S3 bucket. This prevents the system from trying to upload a file across the ocean to a central bucket during a live call.
3. Server Node Management
Inside a Region, you manage the worker nodes.
Registering a Node
To add capacity to a region:
- Click Add Proxy or Add Backend.
- Endpoint / IP: The address where the service is reachable (e.g.,
http://10.0.0.5:5002). - SIP Port:
- Proxy: Default
5060. - Backend: Default
5080.
- Proxy: Default
- API Secret: The system generates a secure token. You must copy this into the server's
appsettings.json.
Lifecycle Controls
You can control the state of running servers directly from the dashboard.
| Control | Function | Use Case |
|---|---|---|
| Maintenance Mode | Stops the node from accepting new tasks. Existing calls continue. | Draining. Use this before an update. |
| Disable Node | Permanently marks the node as offline in the DB. | Decommissioning. Use when removing a server forever. |
| Shutdown Node | Sends a signal to the app to terminate the process. | Restarting. Requires the app to be running as a Service with restart policies. |
4. Singleton Nodes
The Frontend and Background services are singletons (one per cluster). You configure them in their respective tabs.
Frontend Node
- Metrics: View CPU/RAM usage of the dashboard server.
- Version: Verify the currently running build version.
Background Node
- Configuration: You must register the endpoint and API Key for the background processor here.
- Why? The API/Frontend needs to know where to send "Job Triggers" (e.g., "Run cleanup now"). If this is missing, background tasks may fail to trigger manually.
Configuration Sync
Ensure the API Secret you generate here matches the Security.ApiKey in your IqraBackgroundProcessor/appsettings.json.