summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2017-01-09 08:46:32 -0600
committerGerrit Code Review <gerrit2@gerrit.digium.api>2017-01-09 08:46:32 -0600
commitd30bef1de915db70646c3359373244226cbd566a (patch)
tree2e6ba9f7e56afc1acb64831e4c99e944f3711b70
parentbc5102adecb5acd5ed6aa86bd553efcb030f8202 (diff)
parent367128e70be203f1c2a7b5371cd8f72a5dc69905 (diff)
Merge "chan_sip: Remember SDP negotiation on SIP_CODEC_INBOUND." into 13
-rw-r--r--channels/chan_sip.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index d62a811a1..51c17c538 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -7371,6 +7371,12 @@ static void try_suggested_sip_codec(struct sip_pvt *p)
ao2_ref(fmt, -1);
}
+
+ /* The original joint formats may have contained negotiated parameters (fmtp)
+ * like the Opus Codec or iLBC 20. The cached formats contain the default
+ * parameters, which could be different than the negotiated (joint) result. */
+ ast_format_cap_replace_from_cap(p->jointcaps, original_jointcaps, AST_MEDIA_TYPE_UNKNOWN);
+
ao2_ref(original_jointcaps, -1);
return;
}