summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2018-01-08 16:54:00 +0000
committerJoshua Colp <jcolp@digium.com>2018-01-09 04:42:36 -0600
commita21841bf408107e01cc06dacdda4d84939001274 (patch)
tree86689e2b0a90166ae69f3160311002b67cd7d57a
parent8e18209cadf094fc0e1dec4c7375073864b611a9 (diff)
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
-rw-r--r--res/res_pjsip_session.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c
index c3393823e..53f60cc3b 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;
}