[bridge] Feature Request: support multiple concurrent UDP audio streams over a single peer connection
@aemcd is already working on this.
Since Nov 26, 2025.
Assessment
This issue has not been assessed yet.
Description
Currently, dvmbridge requires a unique instance configured for every UDP audio stream. This is an inefficient use of the peer connection established with the FNE, as it natively supports multiple concurrent call paths. For users who wish to send many distinct audio streams to an FNE, it would be better if one instance of bridge could handle receiving multiple concurrent UDP streams.
To avoid overcomplicating things (at least for now), this configuration should only need to support one-way audio (UDP in, P25/DMR out). We also don't want to change or break any of the currently supported bridge configurations as they are in use in many different places.
I propose the following changes:
- abstract the UDP audio handler and vocoder routines to a class which can be instantiated for each desired input audio stream
- create a new root config stanza (
multistreamor some similar name) which signals bridge that it should enter into this new, one-way multi stream mode and ignore the standard global UDP config - in the new
multistreamconfig stanza, we would have an array ofstreamslike the following:multistream: streams: - name: "stream1" # name used for logging and reference only address: "127.0.0.1" # listen address for this UDP socket port: 32001 # listen port for this UDP socket srcId: 1234567 # source ID (RID), can be overridden by stream if configured dstId: 65432 # destination ID (TGID) to use for this stream when sending frames to the FNE ... # incorporate the rest of the standard UDP audio config options from the global `network` config stanza as well # (usrp, ulaw, silence, etc) - name: "stream2" # and so on...
- Dominant language
- C++
- Stars
- 107
- Forks
- 30
- Avg merge
- 3m
- Merged PRs (30d)
- 1
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from DVMProject/dvmhost
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
DVMProject/dvmhost#122 · 2 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
DVMProject/dvmhost#113 · 3 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
DVMProject/dvmhost#101 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
DVMProject/dvmhost#100 · 4 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
DVMProject/dvmhost#98 ·
All issues in DVMProject/dvmhost
Similar issues
-
enhancement
Difficulty 1/5 Under an hour Newbie friendliness 88/100
QuantStack/git2cpp#187 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
games-on-whales/wolf#509 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100