New feature redis-resolve-on-reconnect
New configuration option which allows to re-resolve the redis hostname,
when re-connecting to the remote redis server, if the redis hostname
was an FQDN and not IP address.
Media subscriptions model
The Subscription model has been moved from the monologue abstract level
to the media sessions one. This allows to have 1-to-N media relations (subscriptions),
not particularly bound to one remote monologue. Even though the offer/answer model
is rather supposed to be seen as a one-to-one monologue.
This allows it to not rely on a fixed media order by index,
but after dialogue establishment to do media lookups based on subscriptions.
Also for the offer and answer sides, the recipient's media lookup has been moved
fully to media subscriptions with a possible fall-back to indexation.
SDP replace based approach has been fully moved to SDP create one
Previously and mainly used SDP replace approach has been fully deprecated
and moved to the way of SDP creation from scratch based on given context.
In other words, instead of going line by line through the coming SDP
and replacing only those parts that this dialog concerns, start creating
an SDP body (global session level and each media section) from scratch,
based on existing processed capabilities, taking into account all possible details.
This is now applied to:
- offer/answer model
- subscribes related processing (not to mix with media subscriptions in offer/answer)
- publishes
- websocket related processing
SDP: connection information has been fully moved per media-wise
Previously used contact information (c=
attribute) per global session level,
is now fully moved to media sections, hence is media specific.
This keeps full backwards compatibility, thus any SDP coming with contact information
stored on the global session level will be processed correctly and applied then
per media.
However an SDP body coming out of rtpengine after processing will have the c=
line
only stored in media sections.
The goal of this change is to stay always specific in terms of media IP sources.
SDP manipulations: add media types removal
In order to be able to control which media types
one wants to have in the call session,
add support for the "sdp-media-remove" flag.
For more information see RTD documentation.
SDP manipulations: attribute level manipulations
A support of remove/add/substitute attributes has been introduced.
This can be applied on a global session level or per media-wise.
For more information see RTD documentation.