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

Multiplexing packets based on protocol #191

Closed
jrsnen opened this issue Feb 24, 2023 · 3 comments
Closed

Multiplexing packets based on protocol #191

jrsnen opened this issue Feb 24, 2023 · 3 comments
Labels
rfc What is said in an RFC does not match what uvgRTP does

Comments

@jrsnen
Copy link
Member

jrsnen commented Feb 24, 2023

RFC 6189 states that ZRTP should be multiplexed in the same port as RTP. Currently, uvgRTP performs the ZRTP first, and then gives over the port to RTP, which is not correct.

Multiplexing should also probably be implemented in such a way that the user can get and further process messages that uvgRTP does not support, such as STUN messages used in performing ICE.

While implementing this, I would also implement the same for RTCP (#160), the main benefit with RTCP multiplexing is effectively halving the amount of sockets required by uvgRTP.

The multiplexing should be done in reception_flow.cc file.

@jrsnen jrsnen added the rfc What is said in an RFC does not match what uvgRTP does label Feb 24, 2023
@altonen
Copy link
Collaborator

altonen commented Feb 26, 2023

Multiplexing was supported at least before, that was the whole point of primary and auxiliary handlers of the packet dispatcher. I don't know if that functionality has since been removed but it probably can be resurrected from old commits.

@jrsnen
Copy link
Member Author

jrsnen commented Mar 6, 2023

@altonen ok, thanks for the info. I didn't realize how this was implemented, so last year I added checks to handlers that discard packets that do not conform to said protocol, and this must be the problem with ZRTP. No need to revert any changes, just modifying those handlers (RTP and ZRTP), so they do nothing for wrong packets. I would have done this slightly differently, but the current implementation is fine.

Adding a way for users to get unprocessed packets would be nice still.

@tampsa
Copy link
Collaborator

tampsa commented Aug 8, 2023

Implemented/fixed by efe7d98

@tampsa tampsa closed this as completed Aug 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rfc What is said in an RFC does not match what uvgRTP does
Projects
None yet
Development

No branches or pull requests

3 participants