diff --git a/daemon/call_interfaces.c b/daemon/call_interfaces.c index d496daa789..df235c423e 100644 --- a/daemon/call_interfaces.c +++ b/daemon/call_interfaces.c @@ -1196,6 +1196,9 @@ void call_ng_flags_flags(sdp_ng_flags *out, str *s, helper_arg dummy) { /* replacing SDP body parts */ if (call_ng_flags_prefix(out, s, "replace-", call_ng_flags_replace, NULL)) return; + /* rtcp-mux */ + if (call_ng_flags_prefix(out, s, "rtcp-mux-", call_ng_flags_rtcp_mux, NULL)) + return; /* codec manipulations */ { diff --git a/daemon/control_ng_flags_parser.c b/daemon/control_ng_flags_parser.c index 81921edc0e..b4a7531561 100644 --- a/daemon/control_ng_flags_parser.c +++ b/daemon/control_ng_flags_parser.c @@ -267,11 +267,9 @@ void parse_rtpp_flags(const str * rtpp_flags, bencode_buffer_t * buf, if (!get_key_val(&key, &val, start, &eptr)) break; - /* check for items which have their own sub-list */ + /* specific received-from parsing */ if (parse_received_from(&key, &val, buf, out, opmode)) - { goto next; - } /* codecs have own specific parsing as well */ if (parse_codecs(opmode, out, buf, &key, &val)) diff --git a/t/auto-daemon-tests-rtpp-flags.pl b/t/auto-daemon-tests-rtpp-flags.pl index 98bafc7df5..3be3f60a2b 100644 --- a/t/auto-daemon-tests-rtpp-flags.pl +++ b/t/auto-daemon-tests-rtpp-flags.pl @@ -196,4 +196,110 @@ a=rtcp:PORT SDP +new_call; + +offer('remove rtcp-mux support', + { 'rtpp-flags' => 'rtcp-mux-demux replace-origin replace-session-connection strict-source label=caller OSRTP-accept address-family=IP4 transport-protocol=RTP/AVP' }, < 'SDES-only-AES_CM_128_HMAC_SHA1_80 ICE=remove DTLS=off replace-origin replace-session-connection strict-source label=caller address-family=IP4 transport-protocol=RTP/SAVP' }, < 'ICE=remove replace-origin replace-session-connection strict-source label=callee address-family=IP4 transport-protocol=RTP/SAVP' }, < 'T.38-decode ICE=remove DTLS=off replace-origin replace-session-connection strict-source label=caller address-family=IP4 transport-protocol=RTP/AVP' }, <