~ $ gh search issues --include-prs --author jjaroztegi

Contributions

Fixes I sent upstream, most of them to SIP and voice AI projects, and the issues I filed. States as GitHub showed them on . When a maintainer took a fix over, the state is that of their pull request.

OpenSIPS

The SIP server: its call recording (siprec) and back-to-back (b2b_entities) modules.

github.com/OpenSIPS/opensips

  • #4321merged

    siprec freed a call's context while the dialog still pointed to it, so workers crashed when a recording failed.

    siprec: keep the ctx until the dialog is destroyed

  • #4325merged

    After sending a request, b2b_entities wrote to a dialog that another process could already have freed.

    b2b_entities: do not use the client dlg after sending the request

  • #4326merged

    When the recording server answered after the call had ended, siprec never freed the session.

    siprec: release the session when the SRS answers after the call ended

AI Voice Connector CE

OpenSIPS's bridge from a SIP call to an AI engine. These fixes come from rtpbench's findings, and rtpbench re-measured the connector with all of them merged.

github.com/OpenSIPS/opensips-ai-voice-connector-certpbench's re-measurement

  • #30merged

    A hang-up while the AI was still connecting left the AI session open, with nobody on the call.

    call: stop the AI when the call ends while it connects

  • #31merged

    A failed transfer hung up on the caller. Now the call goes on, as RFC 5589 asks.

    call: keep the call when a transfer fails

  • #32merged

    When OpenAI rejected the session settings, the call went on without instructions, and the caller heard noise.

    openai: end the call when the session is rejected

  • #33merged

    The example configurations listened on UDP only, so a large INVITE, which must go over TCP, was refused.

    examples: listen for SIP over TCP too

  • #34merged

    An INVITE with compact header names (f:, t:, i:) got 500 Server Internal Error.

    utils: accept compact header names

  • #35merged

    An a=ssrc line without an attribute, as some softphones send it, left the INVITE unanswered.

    engine: ignore a=ssrc lines without an attribute

  • #36merged

    On hold, the connector still sent the caller audio it had already queued.

    call: send no queued audio while on hold

  • #37merged

    An in-dialog INFO, OPTIONS or UPDATE got no final response, so the caller retransmitted it for 32 s.

    engine: answer in-dialog requests that are not handled

LiveKit

LiveKit's SIP bridge and the libraries under it.

github.com/livekit/sip

  • sip#901taken over in sip#917, merged

    An INVITE rejected for its media got 400 with an empty reason phrase, so the trunk's admin could not tell why.

    Give media rejections of an inbound INVITE a reason phrase

  • sip#902open since

    After a re-INVITE that holds the call with c=0.0.0.0, the bridge keeps sending audio to the caller.

    Stop sending media when a re-INVITE holds with c=0.0.0.0

  • sipgo#18open since

    Over UDP, a fast final response can delete the transaction before it is read, so a REFER that worked is reported failed.

    Fix UDP client transaction deleted by a final response that arrives during Init

  • sip#906issue, open since

    About 1 in 30-40 blind transfers over UDP is reported failed, although the peer accepted and completed it.

    REFER over UDP reported failed although the peer answered 202

  • media-sdk#109issue, open since

    The 48 to 8 kHz resampler skips a 20 ms frame 4.2 s into a call, so the RTP runs 20 ms behind its timestamps.

    resampleWriter skips a 20 ms frame when soxr returns one sample short (48 to 8 kHz)

T3 Code

A desktop and web app for coding agents. A maintainer is taking both fixes over to land them on current main.

github.com/pingdotgg/t3code

  • #18596open since

    T3 Connect turned off in Settings comes back on after a restart, and the tunnel with it.

    fix(server): T3 Connect exposure stays off after a restart

  • #18597taken over in #24570, open since

    An SSH host alias with RemoteCommand or RequestTTY set breaks T3's own SSH sessions, so the remote environment cannot be added.

    fix(ssh): ignore RemoteCommand and RequestTTY from host aliases

Jellyfin Enhanced

A plugin that adds to Jellyfin's web interface.

github.com/n00bcodr/Jellyfin-Enhanced

  • #884merged

    Defaults an admin set for everyone never reached users without saved settings: the plugin looked up the server's PascalCase names in camelCase.

    fix(settings): resolve casing mismatch when merging server plugin defaults