v0.14.1

thevoiceguy/siphon-aiv0.14.1Jun 22, 2026by thevoiceguy

Upgrading?

AI Summary

A patch release that fixes a regression causing no audio on inbound delayed-offer and outbound calls by ensuring the media session is activated after binding the remote address.

Key Highlights

  • Fix for no audio on inbound delayed-offer
  • Fix for no audio on outbound origination
  • Session activation fix in `apply_answer` method

New Features

  • Audio path bug fix
  • Regression tests for session activation

Full Release Notes

Patch release. Fixes **no audio on inbound delayed-offer and outbound calls** — surfaced testing CUCM delayed-offer (offerless INVITE) without forcing an MTP.

## Fixed
Every offer/answer media path (inbound delayed offer, outbound origination, outbound delayed-offer answerer) funnels through `MediaSetup::apply_answer`, which bound the codec + remote RTP address and attached the tap but **never activated the forge session**. forge only spawns its RTP forwarding task on `Initializing → Active` (`start_forwarding`), so the session sat in `Initializing` and **no RTP flowed in either direction**. The tap still attached — its timers fired `rtp_stats` / `silence_detected`, masking the dead media — and on inbound calls the 0.14.0 start-deadline then tore the call down with `server_too_slow`.

`apply_answer` now activates the session after binding the remote + attaching the tap. The early-offer inbound path was unaffected (it activates explicitly via `start_session` before its 200 OK) — which is why forcing CUCM **Early Offer / an MTP** appeared to work around it. A regression test asserts the session reaches `Active` after `apply_answer`.

This also restores real audio on **outbound origination**, which had the same latent gap (masked by SIPp-only signaling tests).

PRs: #226, #227.

Related Repositories