Blog
Notes from building a SIP stack.
Articles
RSS feed-
· Sipral
Two bugs only a phone left on for days could show
A phone that stopped taking calls after four days, and a voicemail lamp that never moved on an older Asterisk. Both hid from short tests, and both are fixed.
Read the article -
· Sipral
Sipral 1.2: voice agents, more platforms, and a week of calls
Sipral 1.2 bridges PBX lines to voice agents, adds Node.js, .NET MAUI, OAuth2, SIP over WebSocket and a promised Rust API, and held a week of calls.
Read the article -
· Sipral
An agent's phone on VICIdial
A call centre dialer uses a phone differently from a PBX. On a ViciBox 12, Sipral took the agent session call, heard the caller and passed a digit.
Read the article -
· Sipral
A day of calls, 72 KB, and the leak behind them
A 24-hour run held 476 calls with no error, but memory crept by 72 KB. A counting test found the leak behind it; the week-long run now starts on the fix.
Read the article -
· Sipral
A live VitalPBX, and the caller nobody heard
On a live VitalPBX the callee heard nothing on four calls of six. The PBX changed the audio source mid-call; Sipral now follows it. Every call passes.
Read the article -
· Sipral
A phone agent with no cloud now answers in under a second
Sipral's local voice agent now speaks with Kyutai's Pocket TTS, streamed into the call, and starts its answer at the caller's first pause: under a second.
Read the article -
· Sipral
Four SIP clients, three hours side by side
Sipral, PJSIP, baresip and Linphone measured again on one Asterisk: call set-up, three hours of calls side by side, and what each one has to ship.
Read the article -
· Sipral
We read the wrong jitter column: the bad-link comparison, corrected
Our bad-link comparison took Asterisk's jitter from the column that relays the client's own report. Read from Asterisk's own column, all four clients sit close.
Read the article -
· Sipral
Silence after direct_media: one late packet, and how the lab found it
When Asterisk handed a call's audio to the phone at the other end, one late packet could leave both sides silent. The lab found it; the fix is on main.
Read the article -
· Sipral
Node.js and SIP over WebSocket, both on main
Sipral now has a TypeScript package that covers the whole C ABI, and it can carry SIP over a WebSocket it opens itself, proven over WSS in the lab.
Read the article -
· Sipral
A voice agent on a PBX extension: what is in the repository for 1.2
Five voice-agent connectors, a SIP bridge run from one file, a Pipecat transport and a local echo demo: what Sipral 1.2 brings voice agents, with its timings.
Read the article