From: Joshua Colp Date: Mon, 8 Jan 2018 16:54:00 +0000 (+0000) Subject: res_pjsip_session: Always bundle streams if WebRTC is enabled. X-Git-Tag: 16.0.0-rc1~446^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a21841bf408107e01cc06dacdda4d84939001274;p=thirdparty%2Fasterisk.git res_pjsip_session: Always bundle streams if WebRTC is enabled. Some WebRTC clients can't handle renegotiation with the addition of streams that include an offer to bundle. They instead expect the newly added streams to already be bundled. This change does such a thing if WebRTC support is enabled on an endpoint. ASTERISK-27566 Change-Id: I7fe9b7ac35a2798627d9c2c8369129f407af6461 --- diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c index c3393823e9..53f60cc3bc 100644 --- a/res/res_pjsip_session.c +++ b/res/res_pjsip_session.c @@ -456,6 +456,12 @@ struct ast_sip_session_media *ast_sip_session_media_state_add(struct ast_sip_ses return NULL; } session_media->bundle_group = 0; + + /* Some WebRTC clients can't handle an offer to bundle media streams. Instead they expect them to + * already be bundled. Every client handles this scenario though so if WebRTC is enabled just go + * ahead and treat the streams as having already been bundled. + */ + session_media->bundled = session->endpoint->media.webrtc; } else { session_media->bundle_group = -1; }