Skip to content

Releases: sipwise/rtpengine

mr13.2.1.1 Release

13 Feb 10:34
Compare
Choose a tag to compare

Caching of media files

Adds a variety of caching methods for media files for media playback. Files originating from the file system can be cached in memory, and files originating from a database can be cached in memory or on the file system. Media not present in the cache will be loaded as before.

Media cache provisioning

The media cache can be populated on startup or automatically on demand. Manual loading of media into the cache via a CLI command is also available. The contents of the cache can be inspected via CLI command as well, and the sizes of the caches are exported via the usual statistics outputs.

Media cache cleanup

Cache entries can be automatically removed after going unused for a certain amount of time. A CLI command to manually remove cache entries, or clear out the entire cache, is also available. Alternatively, entries in the media cache can be automatically refreshed and reloaded in regular intervals.

Music on hold functionality introduced.

Music on hold functionality provides a streaming of media towards opposite call party when being held, based on a given media source (blob, file on the system or DB stored data).

It is only available if compiled with transcoding support.
This functionality is available only for the offer/answer model, hence no other scenarios like publish or subscription related are supported with it.

For more information see RTD documentation.

media play functionality

Improvements, refactoring and bug fixes.

Improve codec negotiation for branched offers

If an offer receives multiple answers, make sure the codec list from each answer is processed against all codecs that were originally offered.

Add connect NG method

The new connect method can be used to directly connect the media flow of two call parties without the need for a full offer/answer exchange. Call parties from two different calls (different call IDs) can also be connected.

Revamp online help for CLI tool

The help output produced by the CLI tool is now generated by rtpengine itself instead of being built into the tool.

Remote CLI interfaces

A new cli NG method has been added to provide a way to issue CLI commands to rtpengine remotely. The existing interface over HTTP/WS has been extended to allow for HTTP POST.

Add redis-subscribe config option

Makes it possible to configure a different Redis endpoint to subscribe to keyspaces to.

Signalling templates

Provide a convenient way to configure often-used flags and options in the config file instead of having to pass them from the controlling agent for each signalling event.

mr13.1.1.6 Release

13 Feb 10:33
Compare
Choose a tag to compare
Release new version 13.1.1.6+0~mr13.1.1.6

mr13.1.1.5 Release

20 Jan 15:57
Compare
Choose a tag to compare
Release new version 13.1.1.5+0~mr13.1.1.5

mr13.1.1 Release

16 Jan 19:24
Compare
Choose a tag to compare

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.