Features
Everything BitVoice does
Eleven areas of the phone system, itemised. Every item has a screen in the web interface and a chapter in the manual. Where something has only been tested against stand-ins rather than real equipment, the proof page says so.
This page follows the main branch: some of it is newer than the v0.1.8 download (released 2026-10-18) and comes in the next release.
Phone system
Everything an office phone system does
- Extensions with voicemail, call recording, an emergency location (site, floor and room) and what happens when nobody answers
- Ring groups and auto-attendant menus, with extensions dialled directly from the menu
- Schedules: opening hours and holidays, with a different destination for open and closed
- Voicemail: greetings recorded in the browser,
*97, message-waiting lamps, the message emailed with its recording - Hold, blind and attended transfer, call parking, paging and overhead speakers, busy lamps (BLF)
- SIP trunks over UDP, TCP or TLS, with registration, channel limits and failover between trunks
- IAX2 trunks (RFC 5456) to Asterisk and FreePBX servers and IAX2 providers, registering either way, with call tokens; tested against Asterisk 23
- Call routing by dial pattern, with prefixes added or digits removed, and 911 always allowed from every extension
- Office 911 for every profile: Kari's Law notification, RAY BAUM'S Act building, floor and room, remote workers asked to confirm where they are
- Scripts in JavaScript or Lua that route calls, or run whole calls (play, say, collect keys, record, ring people, transfer, hang up), sandboxed and time-limited, with a fixed fallback if a script fails
- A call flow diagram of where calls go, and a call-path simulator: pick a caller, number and time and see the exact route, without ringing anything
- Check every situation: the whole call plan tried in every combination of hours over the coming year, toggles, menu keys and no-answers, and every extension dialling 911, listing calls that end nowhere, loops, dead branches and emergency calls resting on one trunk, each with the situation that shows it; the same check runs on a change before it is made
- Every call says how it was routed, in plain words on its record: the route, the hours, toggles, scripts, keys, forwards and trunks that decided it
- Judges that give their reasons: a toll-fraud guard on every call abroad (first call to a country, out of hours, from outside, bursts, attacks; never an emergency call), a trunk health judge that tells a provider that is down from your own link being down, and a call-quality diagnosis that compares both halves of each call. Each follows a rulebook checked in every combination of its facts; something not measured is never taken for safe
- Video calls between phones that both send video, relayed and encrypted like the sound
- Hot desking (
*33), a company directory on every phone, calendar-driven do not disturb from Outlook and Google - Conference rooms with a PIN and a leader PIN, wait for the leader, members joining muted (press 1 to ask to speak), lock, recording, and a live view to mute or remove people
- Forwarding always, when busy and when not answered (
*72,*90,*52), do not disturb (*78,*79,*76) and follow-me (*21) with press 1 to take the call, so a mobile's voicemail never answers it - Call pickup for a group (
*8) or one phone (**), intercom with auto-answer (*80), company and personal speed dials (*0); every code can be changed on one page - A staff portal: people sign in with their extension and voicemail PIN to set do not disturb, forwarding, follow-me and speed dials, hear their voicemail, record their greeting and see their calls
Contact centre
Queues, agents and supervisors
- Queues: longest idle, round robin or ring all, wrap-up time, longest wait, and a live wallboard
- Agents log in and pause from their phones (
*45,*46) or the screen - Sticky routing back to the agent a caller spoke to last, and VIP callers to the front of every queue
- Callbacks booked by callers or by staff, alerted on every open screen
- Supervisors listen, whisper and barge on live calls
- A customer timeline: every call, recording, transcript, voicemail, text and note for one number
- CRM caller cards and automatic call logging with any system that has a web address
- Call links: a web address, QR code or website button that rings you from any browser, no app and no number
AI
With the AI service you choose, or one you run yourself
- AI receptionists that say they are automated, answer from facts you approved, take messages, book callbacks and always reach a person. A set-up that would loop a caller back to an assistant is refused
- Transcripts and summaries of recorded calls and voicemails, and search across what was said
- Transfer briefings: a two-sentence summary for whoever a call is transferred to, so callers never repeat themselves
- Ask in plain words ("forward sales to my mobile after 5 pm"), shown as a proposed change you approve
- Any OpenAI-compatible service, OpenRouter by default; for a 911 centre, its own government cloud counts as local
Phones
Any SIP phone, a browser, or a mobile
- Automatic set-up for Yealink, Poly, Grandstream (and HT adapters) and Snom over HTTPS, by MAC address or DHCP option 66
- A browser phone (WebRTC) built on our own ICE, DTLS and SRTP, docked on every screen, with BitVoice's own TURN server for networks that block UDP
- SIP over WebSocket for WebRTC softphones made with JsSIP, SIP.js and the like
- A staff phone page for anyone without a desk phone, signed in with the extension's own password
- iPhone and Android apps that ring like a desk phone even when closed, paired by QR code
- Microsoft Teams Direct Routing: BitVoice as the tenant's SBC, Teams users and extensions calling each other
Fax and texts
Fax, analogue lines and business texting
- T.38 fax relay with G.711 fallback through fax gateways and providers
- Fax numbers BitVoice answers itself: every fax kept as a PDF and emailed
- Faxes sent from the web interface or by emailing a document
- Analogue phones, fax machines, door phones and ISDN through SIP gateways: Grandstream HT, Patton SmartNode, AudioCodes; or telephony cards in the server: analogue ports, T1/E1 PRI and BRI ISDN (caller names, redirecting numbers, transfers handed to the phone company, advice of charge), E&M trunks with Feature Group D, MFC-R2 in nine country variants, and SS7 (ISUP, ITU and ANSI)
- Business texting from your numbers through TextMagic, Twilio, SignalWire, Telnyx, Bandwidth, Vonage, Plivo, Flowroute, VoIP.ms or your own webhook, several at once, with a guided US 10DLC registration
- One Inbox for the chat box on your website, WhatsApp (templates included), Facebook Messenger and texts
Codecs and media
Our own media engine
- G.711, G.722, Opus, G.729, G.726 (all four rates), AMR and AMR-WB, iLBC, Speex and GSM, converted between any two, so a browser on Opus talks to a carrier on G.729 or an old gateway on G.726; G.723.1 too, through ffmpeg when you allow it
- SRTP to every phone that encrypts, and SIP over TLS
- Recording in stereo, a pause for card numbers (
*7and*8, PCI DSS), retention, legal holds, and recording consent announcements by region - The IMBE P25 voice codec: decoded with code from GopherTrunk and encoded by our own encoder
Insight
Quality, costs and evidence
- Call quality per site and per provider (MOS, jitter, loss) with a diagnosis in plain words
- Call insight for supervisors: talk ratio, talking over, silence, measured from the sound, never an automatic score
- Costs by department, person and trunk, from your provider's prices, with budgets
- Spam protection from STIR/SHAKEN results, block lists and caller reputation; branded calling and a reputation watch on your own numbers
- Call history with recordings, CSV export and search
Security
Locked down by default
- Fail-to-ban for addresses that keep failing, and toll-fraud limits: premium-rate numbers refused unless allowed
- Two-step sign-in with an authenticator app, and single sign-on through any OpenID Connect provider
- An audit log of every administrative action, and API tokens that are shown once
- Secrets from AWS Secrets Manager or Azure Key Vault; cryptography only from Go's standard library, never written here
Operations
Running it for real
- Several servers as one phone system over a shared PostgreSQL database: calls carry on when a server stops, and a shared address moves to a running one
- Hosted organisations: many phone systems on one server, each with its own data (its own folder on SQLite, its own schema on PostgreSQL), web address or domain and administrators; limits on extensions, calls at once, storage and AI use; suspend without deleting. Emergency calls are never refused
- SQLite on one server, PostgreSQL for several
- Health page saying what is missing, emergency calling first; a live SIP trace; a call generator that measures what your hardware carries
- Updates uploaded in the browser, installed when no calls are up, with Go back in one click and an automatic rollback if the new version fails to start
- Every change is a revision: see what changed, restore with a preview, export and import
- Prometheus and OpenTelemetry metrics
Moving in
Bring your old system with you
- Import from FreePBX (a whole Backup & Restore backup, SIP passwords, trunks, routes, groups and queues included) and Asterisk (pjsip.conf, sip.conf), 3CX, Cisco Unified CM, Avaya IP Office and Communication Manager and Mitel MiVoice Business
- Every import shows exactly what would change first, and becomes a revision you can undo
- Asterisk AMI and ARI compatibility, so tools written for Asterisk keep working: ARI applications (Stasis) with playback, recordings, keys, mixing bridges and continue; AMI with queue agents, ConfBridge, parked calls, mailboxes, filters and user events
Clouds and code
Automation and clouds
- A REST API behind every screen, described at
/api/openapi.json - Configuration from Git, and a Terraform example with the generic REST provider
- AWS and Azure images and templates; recordings, voicemail and backups copied to S3 or Azure Blob Storage (our own SigV4 and Entra code, no cloud SDKs)
Public safety is a separate lab track
NG911 call handling, a P25 radio dispatch console and NG911 Core Services run on the same engine, off the menu until switched on.