Skip to content

Treat missing a=fmtp as defaults for AMR#2141

Closed
alexbakker wants to merge 1 commit into
sipwise:masterfrom
alexbakker:missing-fmtp
Closed

Treat missing a=fmtp as defaults for AMR#2141
alexbakker wants to merge 1 commit into
sipwise:masterfrom
alexbakker:missing-fmtp

Conversation

@alexbakker

Copy link
Copy Markdown
Contributor

Per RFC 4867 section 8.1, absent fmtp parameters imply defaults (bandwidth-efficient mode, no CRC, no robust-sorting, no interleaving). Previously, codec matching was rejected when either side had no a=fmtp attribute for the AMR payload type, causing AMR to be dropped as a "stray answer codec".

This patch changes this behavior to instead "parse" fmtp even when absent so that the format struct is populated with zero-initialized defaults and fmtp_parsed is set.

Comment thread t/test-transcode.c Outdated
// offer has octet-align=0, answer omits fmtp -> should match
start();
sdp_pt(0, PCMU, 8000);
transcode(AMR-WB/16000/1///octet-align=0);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doesn't compile because the // is interpreted as a comment

Per RFC 4867 section 8.1, absent fmtp parameters imply defaults (bandwidth-efficient mode, no CRC,
no robust-sorting, no interleaving). Previously, codec matching was rejected when either side had no
``a=fmtp`` attribute for the AMR payload type, causing AMR to be dropped as a "stray answer codec".

This patch changes this behavior to instead "parse" fmtp even when absent so that the format struct
is populated with zero-initialized defaults and fmtp_parsed is set.
@alexbakker

Copy link
Copy Markdown
Contributor Author

@rfuchs I must have forgotten to push the latest revision. Sorry about that. The tests should pass now.

@rfuchs

rfuchs commented Jul 20, 2026

Copy link
Copy Markdown
Member

Much better, thank you

sipwise-jenkins pushed a commit that referenced this pull request Jul 22, 2026
Per RFC 4867 section 8.1, absent fmtp parameters imply defaults (bandwidth-efficient mode, no CRC,
no robust-sorting, no interleaving). Previously, codec matching was rejected when either side had no
``a=fmtp`` attribute for the AMR payload type, causing AMR to be dropped as a "stray answer codec".

This patch changes this behavior to instead "parse" fmtp even when absent so that the format struct
is populated with zero-initialized defaults and fmtp_parsed is set.

Closes #2141

Change-Id: I1371cb1fdb9354746a4019477845d777e619a2f6
(cherry picked from commit 702ccec)
sipwise-jenkins pushed a commit that referenced this pull request Jul 22, 2026
Per RFC 4867 section 8.1, absent fmtp parameters imply defaults (bandwidth-efficient mode, no CRC,
no robust-sorting, no interleaving). Previously, codec matching was rejected when either side had no
``a=fmtp`` attribute for the AMR payload type, causing AMR to be dropped as a "stray answer codec".

This patch changes this behavior to instead "parse" fmtp even when absent so that the format struct
is populated with zero-initialized defaults and fmtp_parsed is set.

Closes #2141

Change-Id: I1371cb1fdb9354746a4019477845d777e619a2f6
(cherry picked from commit 702ccec)
(cherry picked from commit 84d6296)
sipwise-jenkins pushed a commit that referenced this pull request Jul 22, 2026
Per RFC 4867 section 8.1, absent fmtp parameters imply defaults (bandwidth-efficient mode, no CRC,
no robust-sorting, no interleaving). Previously, codec matching was rejected when either side had no
``a=fmtp`` attribute for the AMR payload type, causing AMR to be dropped as a "stray answer codec".

This patch changes this behavior to instead "parse" fmtp even when absent so that the format struct
is populated with zero-initialized defaults and fmtp_parsed is set.

Closes #2141

Change-Id: I1371cb1fdb9354746a4019477845d777e619a2f6
(cherry picked from commit 702ccec)
(cherry picked from commit 84d6296)
sipwise-jenkins pushed a commit that referenced this pull request Jul 22, 2026
Per RFC 4867 section 8.1, absent fmtp parameters imply defaults (bandwidth-efficient mode, no CRC,
no robust-sorting, no interleaving). Previously, codec matching was rejected when either side had no
``a=fmtp`` attribute for the AMR payload type, causing AMR to be dropped as a "stray answer codec".

This patch changes this behavior to instead "parse" fmtp even when absent so that the format struct
is populated with zero-initialized defaults and fmtp_parsed is set.

Closes #2141

Change-Id: I1371cb1fdb9354746a4019477845d777e619a2f6
(cherry picked from commit 702ccec)
(cherry picked from commit 84d6296)
sipwise-jenkins pushed a commit that referenced this pull request Jul 22, 2026
Per RFC 4867 section 8.1, absent fmtp parameters imply defaults (bandwidth-efficient mode, no CRC,
no robust-sorting, no interleaving). Previously, codec matching was rejected when either side had no
``a=fmtp`` attribute for the AMR payload type, causing AMR to be dropped as a "stray answer codec".

This patch changes this behavior to instead "parse" fmtp even when absent so that the format struct
is populated with zero-initialized defaults and fmtp_parsed is set.

Closes #2141

Change-Id: I1371cb1fdb9354746a4019477845d777e619a2f6
(cherry picked from commit 702ccec)
(cherry picked from commit 84d6296)
sipwise-jenkins pushed a commit that referenced this pull request Jul 22, 2026
Per RFC 4867 section 8.1, absent fmtp parameters imply defaults (bandwidth-efficient mode, no CRC,
no robust-sorting, no interleaving). Previously, codec matching was rejected when either side had no
``a=fmtp`` attribute for the AMR payload type, causing AMR to be dropped as a "stray answer codec".

This patch changes this behavior to instead "parse" fmtp even when absent so that the format struct
is populated with zero-initialized defaults and fmtp_parsed is set.

Closes #2141

Change-Id: I1371cb1fdb9354746a4019477845d777e619a2f6
(cherry picked from commit 702ccec)
(cherry picked from commit 84d6296)
(cherry picked from commit b7eec52)
sipwise-jenkins pushed a commit that referenced this pull request Jul 22, 2026
Per RFC 4867 section 8.1, absent fmtp parameters imply defaults (bandwidth-efficient mode, no CRC,
no robust-sorting, no interleaving). Previously, codec matching was rejected when either side had no
``a=fmtp`` attribute for the AMR payload type, causing AMR to be dropped as a "stray answer codec".

This patch changes this behavior to instead "parse" fmtp even when absent so that the format struct
is populated with zero-initialized defaults and fmtp_parsed is set.

Closes #2141

Change-Id: I1371cb1fdb9354746a4019477845d777e619a2f6
(cherry picked from commit 702ccec)
(cherry picked from commit 84d6296)
(cherry picked from commit 724ef04)
sipwise-jenkins pushed a commit that referenced this pull request Jul 22, 2026
Per RFC 4867 section 8.1, absent fmtp parameters imply defaults (bandwidth-efficient mode, no CRC,
no robust-sorting, no interleaving). Previously, codec matching was rejected when either side had no
``a=fmtp`` attribute for the AMR payload type, causing AMR to be dropped as a "stray answer codec".

This patch changes this behavior to instead "parse" fmtp even when absent so that the format struct
is populated with zero-initialized defaults and fmtp_parsed is set.

Closes #2141

Change-Id: I1371cb1fdb9354746a4019477845d777e619a2f6
(cherry picked from commit 702ccec)
(cherry picked from commit 84d6296)
(cherry picked from commit a3e8240)
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.

2 participants