Hi,
This is a relatively new feature and so not well supported in other software yet. Contributions are always welcome.
OpenSIPS is working on integrating this with their SIPREC module. I suppose the Kamailio UAC module could also be used for this. Other solutions like general SIP UAs would also be possible.
As a PoC you can use the included `rtpengine-ng-client` script. You need to know the call ID of the call that you want to fork media from, and be able to select a particular call party (e.g. through their SIP tag or the provided label) OR be able to handle multi-part SDP that receives media from all call parties.
You start by sending a subscribe request to rtpengine. For
example for a SIPREC-style subscription you would do something
like
$ rtpengine-ng-client "subscribe request" --call-id=$CALLID --all --SIPREC
This produces a multi-part offer SDP (that would be sent as an
invite to the SIPREC SRS). It also returns a "to-tag" which is
used to identify this subscription.
The corresponding answer SDP (from the 200 OK from the SRS) would then be passed as a subscribe answer to rtpengine, together with the to-tag that was returned by the subscribe-request:
$ rtpengine-ng-client "subscribe answer" --call-id=$CALLID --sdp=$SDP --to-tag=$TAG
At this point the media would start flowing to the SRS.
Subscriptions can use all other available options, such as encryption, transcoding, etc.
For the N-to-N media forwarding feature you would create subscriptions exactly in the same way, except that you subscribe not to a regular call created through offer/answer, but rather to send-only media streams created via "publish" (which works analogous to "offer" except that it's one-way).
HTH
Cheers