diff --git a/docs/ng_control_protocol.md b/docs/ng_control_protocol.md index ccf672efd..db9e1e719 100644 --- a/docs/ng_control_protocol.md +++ b/docs/ng_control_protocol.md @@ -1312,8 +1312,11 @@ Description: Removes a specified `a=` line from the concerned attributes list. If such line hasn't been found, then the attributes list remains untouched. - The matching is done using the full attribute line (value and the following attribute parameters, if given). - Prefix-based matching is not supported. + The matching can be done using just the attribute name, or the + attribute name plus a tag value, or the full attribute line (value and + the following attribute parameters, if given). For example, the + attribute `a=foo:bar baz quuz` would match any of `foo`, foo:bar`, or + `foo:bar baz quuz`. Can take multiple values (so multiple attributes can removed per one command). @@ -1322,8 +1325,15 @@ Description: Substitutes a specified `a=` line taken from the concerned media attributes list. If such line hasn't been found, then the attributes list remains untouched. - The matching is done using the full attribute line (value and the following attribute parameters, if given). - Prefix-based matching is not supported. + The matching can be done using just the attribute name, or the + attribute name plus a tag value, or the full attribute line (value and + the following attribute parameters, if given). If the attribute is + generated by *rtpengine* itself and a tag value is present, then the + tag value must also be used in the match pattern. For example, the + attribute `a=foo:bar baz quuz` would match any of `foo`, foo:bar`, or + `foo:bar baz quuz`, but the self-generated attribute `a=fmtp:10 foobar` + could only be substituted using either `fmtp:10` or `fmtp:10 foobar` + but not just `fmtp`. Substitutes one attribute at a time, so one attribute into another attribute. Read more about that below in the `` section. diff --git a/t/auto-daemon-tests.pl b/t/auto-daemon-tests.pl index 558322e5a..a7622f1cc 100755 --- a/t/auto-daemon-tests.pl +++ b/t/auto-daemon-tests.pl @@ -18484,6 +18484,34 @@ SDP new_call; +offer('SDP attr manipulations - substitute a=fmtp line for media audio', { ICE => 'remove', DTLS => 'off', SDES => [ 'nonew' ], flags => ['sdp-attr-substitute-audio-fmtp:101>fmtp:101..0-15,32,36'] }, < 'remove', DTLS => 'off', SDES => [ 'nonew' ], flags => ['sdp-attr-remove-audio-fmtp:101..0-16'] }, < 'remove', DTLS => 'off', SDES => [ 'nonew' ], flags => ['sdp-attr-remove-audio-fmtp:101'] }, < 'remove', DTLS => 'off', SDES => [ 'nonew' ], flags => ['sdp-attr-remove-audio-fmtp', 'sdp-attr-remove-audio-rtpmap'] }, < 'remove', DTLS => 'off', SDES => [ 'nonew' ], flags => ['sdp-attr-remove-audio-sendrecv', 'sdp-attr-remove-audio-rtcp', 'sdp-attr-remove-audio-ptime'] }, < 'remove', DTLS => 'off', SDES => [ 'nonew' ], flags => ['sdp-attr-remove-global-something', 'sdp-attr-remove-global-rather', 'sdp-attr-remove-global-or'] }, <