BitVoice

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 (*7 and *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.