Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE REQUEST] - Forwarding Media Websocket (not just TCP/TLS) #1861

Open
digipigeon opened this issue Sep 19, 2024 · 0 comments
Open

[FEATURE REQUEST] - Forwarding Media Websocket (not just TCP/TLS) #1861

digipigeon opened this issue Sep 19, 2024 · 0 comments

Comments

@digipigeon
Copy link

digipigeon commented Sep 19, 2024

Is your feature request related to a problem? Please describe

There seems to be a bit of momentum in media forking to a websocket (per call), it would be ideal if this functionality was native to rtpengine.

Describe the solution you'd like

RTPEngine already has a feature

https://rtpengine.readthedocs.io/en/latest/ng_control_protocol.html#start-forwarding-and-stop-forwarding-messages

start forwarding and stop forwarding

These messages control the recording daemon’s mechanism to forward PCM via TCP/TLS. Unlike the call recording mechanism, forwarding can be enabled for individual participants (directionally) only, therefore these messages can be used with the same options as the block and unblock messages above. The PCM forwarding mechanism is independent of the call recording mechanism, and so forwarding and recording can be started and stopped independently of each other.

To increase interoperability and standardized media forking I would suggest the following:

  1. Optionally allow raw TLS/TCP to use the WS/WSS protocol instead.
  2. Allow the first packet to include metadata decoded from base64 (This allows for good escaping from data flowing from the signaling servers), which could be decoded when sent. This allows for payloads such as JSON.
  3. Allow dynamic setting of the WS/WSS destination per call.

Describe alternatives you've considered

It is possible to build a side-car process to receive media forwarded to localhost on plain TCP/TLS, parse and process the metadata headers. to then allow forwarding to a destination specified in the metadata. However I feel that this adds unecessary complexity to something which would be useful to have a native integration.

The rtpengine version you checked that didn't have the feature you are asking for

No response

@sipwise sipwise deleted a comment Sep 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant