Skip to content

Codec stripped from final 200(SDP) when codec changes after UPDATE negotiation with a new to-tag #2117

@pyysa

Description

@pyysa

rtpengine version the issue has been seen with

13.5.1.16+0~mr13.5.1.16

Used distribution and its version

Debian 12

Linux kernel version used

6.1.0-37-amd64

CPU architecture issue was seen on (see uname -m)

x86_64

Expected behaviour you didn't see

A -> B: INVITE (EVS, AMR-WB)
B -> A: 183 Session Progress (EVS)
A -> B: UPDATE (EVS)
B -> A: 200 OK UPDATE (EVS)
B -> A: 200 OK INVITE (AMR-WB)

Comunication establishes correctly

Unexpected behaviour you saw

A -> B: INVITE (EVS, AMR-WB)
B -> A: 183 Session Progress (EVS)
A -> B: UPDATE (EVS)
B -> A: 200 OK UPDATE (EVS)
B -> A: 200 OK INVITE (AMR-WB) -> Not adding stray answer codec AMR-WB

Call fails

Steps to reproduce the problem

No response

Additional program output to the terminal or logs illustrating the issue

debug log available: https://gist.github.com/pyysa/bf42c415c3541c4ce8c8838918ac9580

Anything else?

I tried previusly already report this at #2073
And i can confirm that without that UPDATE there in the middle the AMR-WB at 200ok works as expected based on the fix done on that issue.

rtpengine_manage("replace-session-connection replace-origin trust-address replace-force-increment-sdp-ver")

For readability and privacy, I have anonymized the IP addresses in the logs.
I also collapsed all callers/callee-side IPs into the same placeholder (2.2.2.2/3.3.3.3), even though in the original trace signalling and media used different addresses.

RTPengine has the ip 1.1.1.1
The caller has the ip 2.2.2.2
The callee has the ip 3.3.3.3
The kamailio instance has the ip 4.4.4.4

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions