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.