What everything on the console does, and where to find it.
A self-hosted phone system, built on Asterisk, with everything managed from this one console.
RingStack replaces a traditional office phone system (a PBX) — it registers desk phones and softphones as extensions, connects to your carrier(s) over SIP trunks, and routes calls between the two based on rules you set up here: inbound routes, IVR menus, ring groups, queues, and time conditions. Everything that reaches Asterisk — dialplan, PJSIP endpoints, trunk registrations — is generated automatically from what you configure in this console; you never hand-edit Asterisk config files directly.
The people and devices on your phone system.
Each person or line on the system — a short internal number, a display name, and its own SIP credentials. Bulk-import a whole list from a CSV, or add one at a time. Hot-desking lets an agent temporarily claim a shared phone as their own extension for a shift, and call barging/monitor let a supervisor listen in or join a live call.
ExtensionsThe physical desk phones assigned to extensions — reboot or resync one remotely once it's registered, or add a new one by MAC address.
Inventory → PhonesTurn on the vendors and models you actually use. Only enabled models show up when adding a phone.
Phone modelsGlobal auto-provisioning settings — TFTP and HTTPS both serve the same generated per-phone config, so a new phone comes up already configured once it's plugged in.
ProvisioningWhich extensions can take calls right in the browser, and who's currently signed in. The same account also signs into the self-service Portal and, once set up, the mobile app.
SoftphonesStar codes any phone can dial with no extra setup — call forward, DND, hot-desk login/logout, call monitor — turn individual ones off if you'd rather that code stay free for something else.
Feature codesHow calls get on and off your phone system.
Your SIP carrier connections and their live registration state — this is the line that actually carries calls to and from the outside world.
TrunksEvery phone number your account owns, whether it's actively routed somewhere right now or sitting in reserve — a DID can be reachable via more than one trunk, and assigning one just creates its inbound route.
Inventory → DIDsReal inter-PBX SIP trunking to another RingStack install — dial a prefix plus their extension to reach it directly, no separate trunk needed.
Paired systemsHow an inbound call gets from a ringing number to the right person — and how an outbound call picks which trunk carries it.
Where each of your numbers actually goes — an extension, an IVR menu, a ring group, or anywhere else with a destination.
Inbound routesWhich trunk carries an outgoing call, and who's allowed to dial what. Routes are tried in order — the first match wins.
Outbound routesWhat callers hear — "For Sales, press 1" — and where each key press sends them, including further into another menu.
Call menusRoute calls differently by day and time — one destination inside the window, a different one outside it.
Time conditionsA manual override switch between two destinations (day/night, open/closed) — flip it from any phone with a control-number dial, or flip it right here.
Call flowsA single named, reusable routing step, including its own Call Flow Canvas node type. Build it once, then point any number of time conditions, IVR menus, or ring groups at it.
Flow modulesEvery inbound route, time condition, call flow, IVR menu, flow module, ring group, and queue, wired together on one visual canvas — switch between a horizontal or vertical layout, and create a destination inline without leaving the canvas.
Call flow mapPick a starting point and see its full resolved path — every branch a call could actually take, given the current configuration. Read-only.
Route BuilderA guided wizard — answer a few questions about how you want calls handled, and it builds the number, hours, and destinations for you.
Set up a numberGetting an inbound call to more than one person at once.
Ring several phones for one call — no waiting line, no agents logging in or out. Whoever answers first gets it.
Ring groupsRing several agents at once and hold callers fairly in line when everyone's busy — the call-center version of a ring group. Agents can log themselves in or out from the Portal instead of an admin editing the roster, and a queue can offer a callback so a caller on hold can press 1 and get called back instead of waiting.
QueuesEvery mailbox with voicemail turned on, in one place — reset a PIN, change where messages get emailed, or find a specific message.
VoicemailShared dial-in bridges anyone can join with a PIN — no scheduling needed per call.
Conference roomsPut a call on hold in a shared slot so anyone can pick it up from a different phone. Asterisk's default lot (dial 700, slots 701–720) always exists.
Call parkingUpload once, use anywhere — an IVR greeting, a queue's hold music, or a mailbox's voicemail greeting. Everything you upload is converted to the format Asterisk actually needs. Group related clips together, or generate a new one from typed text with an AI voice instead of recording it yourself.
Audio libraryReal SMS, over your existing trunk.
Sent as SIP MESSAGE (RFC 3428), going over the same trunk connection that already carries your calls — no separate carrier API or webhook to configure. A DID can carry SMS over more than one trunk, and messages both ways show up in the same thread. Your trunk provider has to support SMS over SIP for this to work.
MessagesLive state of the switch. Active calls and trunk channels in use refresh every 10 seconds; the rest reloads with the page.
DashboardEvery call, searchable by number, date range, and outcome (answered, no-answer, busy, failed, congestion), with recordings where enabled.
Call logsHow your phone system performs over time — call volume, queue performance, and where calls actually go. Export any report to PDF or CSV on demand, email it to someone, or put it on a recurring schedule.
ReportsDeeper analytics on top of the standard reports — an agent performance scorecard, repeat-caller detection, concurrency peaks, and IVR containment (how many callers actually get where a menu sends them vs. drop out). The same data an AI assistant can answer free-form questions about, with its own saved/scheduled questions.
Pro ReportsWatches live call activity for toll-fraud call-rate spikes, domestic traffic pumping, and any destination you've flagged.
Fraud detectionAsk an AI assistant to help diagnose a real problem — it can trace the dialplan for a number, check trunk/extension registration, and read recent Asterisk log errors. Needs AI integration turned on first.
TroubleshootConnecting RingStack to a model provider and to your own systems.
Bring your own key (Anthropic, OpenAI, or Google) — RingStack's backend calls it server-to-server for a few scoped tasks. Nothing runs on the PBX box itself. Once turned on, it powers Troubleshoot, call-journey narration on Reports, the Pro Reports Ask assistant, and AI-generated audio-library voice prompts.
AI integrationFires an outbound HTTP POST (caller ID, DID, a timestamp) mid-call, then keeps going to its own next destination — pick "Fire webhook" anywhere a destination is chosen (inbound routes, IVR options, time conditions, and more). Never blocks the call either way.
WebhooksWho can sign in to this console, and what they're allowed to do. Every account sets up two-factor authentication — an authenticator app or a passkey — the first time it signs in, even accounts created before 2FA existed; it can be turned off again afterward per-account.
Settings → UsersLet your team sign in with an identity provider you already use, instead of a separate RingStack password.
Single sign-onProgrammatic access for scripts and integrations that can't sign in interactively — each key can carry its own expiration date and be scoped to only the resources it actually needs, and is rate-limited per key.
API keysNotes left through the feedback bubble during testing — nothing here is acted on automatically; it's reviewed and prioritized before any work starts.
FeedbackWho's trying to get in, and who's been blocked — backed by real fail2ban jails watching SIP registration and admin-panel logins. Bans are real firewall rules, not just a log entry.
SecurityThe actual UFW rules currently enforcing on this box, plus trusted sources — known carrier trunks and paired systems get scoped firewall access automatically. Blocks by country (GeoIP) too, with per-IP exceptions for a legitimate call that lands from outside an allowed country.
FirewallWhether this box sits on a public IP directly or behind NAT — gets SIP/RTP addressing right either way.
Network / NATNamed backup jobs, each with its own content scope (database, config, voicemail, recordings, hold music, uploaded audio, branding) and its own remote destinations. Also where recurring report emails, how long call recordings/CDR are kept before auto-purge, live SIP packet captures, and the FreePBX importer all live.
UtilitiesPending updates for Asterisk, PJSIP, and the rest of the real stack underneath — read directly from the OS's own package cache.
PatchesAd hoc, time-limited shell access for vendor support — nothing is ever standing. Starting a session opens an outbound-only connection; no inbound firewall change needed.
Support accessCompany details, branding, email delivery, mobile push, licensing, and everything else that isn't day-to-day call handling.
SettingsRun several separate companies on one install, each with their own extensions, trunks, routes, and branding — same UI and features as a standard install, fully isolated per tenant.
Multi-tenantActive/standby clustering across two RingStack nodes sharing a floating IP, with automatic failover if the active node goes down.
High availabilityOne console for a managed-service provider running many separate RingStack installs — a real view into each customer's own system, not a second copy of their data.
Central managementPut your own brand on the console — accent color, favicon, and logo, including on the phone display, in every branded email, and on generated PDF reports.
White labelFound something that looks wrong, or have a suggestion? Leave it through the feedback bubble in the console — it's reviewed, not acted on automatically, so nothing changes without someone looking at it first.
Need someone else's hands on the box itself? Support access opens a real, time-limited shell session for a vendor to help directly, without leaving standing access behind afterward.