Skip to content

fix(sip_client): tokenize SDP m-line and answer with one codec - #288

Merged
eigger merged 4 commits into
masterfrom
feat/sip-client-sdp-negotiate
Aug 4, 2026
Merged

fix(sip_client): tokenize SDP m-line and answer with one codec#288
eigger merged 4 commits into
masterfrom
feat/sip-client-sdp-negotiate

Conversation

@eigger

@eigger eigger commented Aug 4, 2026

Copy link
Copy Markdown
Owner

No description provided.

eigger and others added 4 commits August 5, 2026 08:36
Replace substring payload-type matching (which false-positives on PT 96-99)
with whitespace tokenization, generalize SdpInfo, and emit RFC 3264 answer
SDP with only the chosen audio PT plus telephone-event. Reject offers with
no common G.711 codec via 488. Add host-side parse_sdp tests and CI workflow.

Refs #286

Co-authored-by: Cursor <cursoragent@cursor.com>
Avoid CRLF breaking shebang execution of native test runners on Linux CI.

Co-authored-by: Cursor <cursoragent@cursor.com>
ACK a 200 OK with no common codec then send BYE so the PBX does not keep
the call. Parse only the first m=audio section (ignore video), skip
non-numeric fmt tokens, and reject inbound INVITEs before mutating dialog
state. Dynamic PT codec naming remains deferred to the Codec refactor.

Refs #286

Co-authored-by: Cursor <cursoragent@cursor.com>
Restore RFC 4566 <port>/<number of ports> parsing (atoi stops at '/') and
stop clearing d_local_tag_ after a 488 so OPTIONS replies cannot emit an
empty ;tag=.

Co-authored-by: Cursor <cursoragent@cursor.com>
@eigger
eigger merged commit a233af7 into master Aug 4, 2026
8 checks passed
@eigger
eigger deleted the feat/sip-client-sdp-negotiate branch August 4, 2026 23:53
@eigger eigger linked an issue Aug 5, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

sip_client Feature request: More codecs (like g722)

1 participant