Repository navigation
BitVoice v0.1.9
BitVoice v0.1.9: speech to text built in, and what building a CAD against BitVoice found, fixed.
Speech to text on your own server
- BitVoice now runs whisper.cpp itself (AI > Who writes speech down > This server): it fetches the model it is told to (checked by its SHA-256), starts whisper-server on 127.0.0.1, watches it and restarts it. Transcripts, voicemail text and live 911 transcripts then need no AI service and send nothing off the server. Each download now carries a signed whisper-server built for it (static; Metal on Apple silicon).
- Or point it at any whisper-server or OpenAI-compatible …/audio/transcriptions service, with no language model at all.
911 (public-safety lab), found by building a CAD against it
- A voice 911 call from the ESInet or a CAMA trunk is never refused or left unanswered: a route that would hang up, ring nobody, or ring out unanswered rings every call-taker until one answers.
- A 911 call is never dropped by a transfer. A transfer that cannot connect (an extension with no phone, nobody answering) goes back to the call-taker, or rings every call-taker if they already hung up; never voicemail.
- Any call: a phone that hangs up right after asking for a blind transfer (many do) releases only itself; before, it ended the whole call.
- A call whose caller's sound stops for a minute is ended and says why.
- Live 911 transcripts (call.transcript events) for the 911 screen and CAD.
- EIDOs and radio events go to CAD only by https, or plain http within the same computer: a new plain-http address off this computer is refused on save, an old one is never sent to (Health shows it red). Health also warns when the ALI spill crosses the network unencrypted, and when the PSAP has no agency ID.
- Programs with a token may name the dispatcher they act for (X-BitVoice-On-Behalf-Of); records say who took each 911 call.
Also
- Calls say when a side sent no sound, and whether their sound was encrypted; trunks can require encryption.
- Commercial carrier tried (SIP.US): registration and calls out over UDP and TLS.
- Fax boxes with a spaced identity could not call out; calls a provider sends over its own TLS/TCP connection are taken as the trunk's. Found against spandsp, Kamailio and FreeSWITCH.
- Saving AI settings with no model removes the saved key.
- Telephony cards: restarting the bridge no longer leaves a PRI with no B-channels (found on the real DAHDI driver).
- Cloud images start every server new; Terraform tried with OpenTofu; Android app tried on a real phone.
Downloads are signed (Updates checks them); SHA256SUMS lists every archive.