]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_pjsip_session: Reduce (and improve) SDP renegotiation.
authorJoshua Colp <jcolp@digium.com>
Fri, 22 Sep 2017 22:49:21 +0000 (22:49 +0000)
committerJoshua Colp <jcolp@digium.com>
Fri, 22 Sep 2017 22:53:35 +0000 (22:53 +0000)
commitd80b7e16046bd6168e05bb796d85cb72a33eff2a
treee370f97b17e26551aa6b42a29b7b653452b39641
parentfc2d3e7e8123e0d6f06c27974abb000a6c299490
res_pjsip_session: Reduce (and improve) SDP renegotiation.

When pruning a request to change the topology of a channel be
more intelligent about the resulting topology that is actually
used for SDP renegotiation.

In a case where a stream has not already been negotiated we
don't need to renegotiate and offer a declined stream. This can
occur if something in Asterisk (such as ConfBridge) requests
to add video to a PJSIP channel that has no video codecs configured.
In this case since the stream did not already exist we can safely
remove the stream from the requested topology, resulting in no
renegotiation occurring.

In a case where a renegotiation is requested with a codec that is
not supported we can reuse the formats of the existing stream if
it exists to ensure that the stream continues to flow, instead of
removing it.

Change-Id: I636540798d55922377318fe619c510fb6ed125fb
res/res_pjsip_session.c