[FEATURE REQUEST] - Forwarding Media Websocket (not just TCP/TLS)
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 12/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- json
- Ambito
- networking
Direzione di ricerca
Start from the documented start-forwarding/stop-forwarding control messages in ng_control_protocol (rtpengine.readthedocs.io), and the recording daemon that currently emits PCM over plain TCP/TLS. The request bundles three separable changes — a WS/WSS transport option, a base64 metadata header on the first packet, and a per-call dynamic destination — so scope needs agreement before any code. Check the media-forking discussion for prior art; no branch or test exists yet, and "done" would only be definable once the transport and metadata framing are settled.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
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:
- Optionally allow raw TLS/TCP to use the WS/WSS protocol instead.
- 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.
- 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
- Lingua principale
- Perl
- Stelle
- 992
- Fork
- 459
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di sipwise/rtpengine
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
I maintainer di solito rispondono entro 2 giorni
-
HTTP/WS worker threads spin forever in `__websocket_write_done()` (`sched_yield` loop) — 100% CPU with `--listen-http`Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 15/100
sipwise/rtpengine#2197 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Kernel NULL pointer dereference in target_put() during target deletionForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
sipwise/rtpengine#2190 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Calls using a third logical interface are silently never written to Redis (breaks keyspace-notification HA)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
sipwise/rtpengine#2181 · 4 commenti ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di sipwise/rtpengine
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
bioconda/bioconda-recipes#70187 ·
I maintainer di solito rispondono entro 2 giorni
-
documentation Needs Triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 93/100
I maintainer di solito rispondono entro 1 giorno
-
Proposed Text EditsAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
curl/everything-curl#658 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
PDLPorters/pdl#561 ·