[Asterisk-code-review] chan sip: Remember SDP negotiation on SIP CODEC INBOUND. (asterisk[master])
Alexander Traud
asteriskteam at digium.com
Wed Jan 4 06:02:37 CST 2017
Alexander Traud has uploaded a new change for review. ( https://gerrit.asterisk.org/4693 )
Change subject: chan_sip: Remember SDP negotiation on SIP_CODEC_INBOUND.
......................................................................
chan_sip: Remember SDP negotiation on SIP_CODEC_INBOUND.
After a SIP_CODEC_INBOUND in the dialplan, do not continue with cached formats
but remember the joint format. Cached formats contain default parameters,
often create an empty fmtp line. However, a joint format might have passed
format_get_joint(.) in a res_format_attr_* module (like Opus Codec) and
contain the resulting format parameters from a SDP negotiation.
ASTERISK-26691 #close
Change-Id: I35712d98a793d4c3efdd156cec57deab9014b1dc
---
M channels/chan_sip.c
1 file changed, 6 insertions(+), 0 deletions(-)
git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/93/4693/1
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index af17a38..288933f 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -7369,6 +7369,12 @@
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;
}
--
To view, visit https://gerrit.asterisk.org/4693
To unsubscribe, visit https://gerrit.asterisk.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I35712d98a793d4c3efdd156cec57deab9014b1dc
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Alexander Traud <pabstraud at compuserve.com>
More information about the asterisk-code-review
mailing list