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

Not reserving RTCP Port #81

Open
albertpv opened this issue Jan 16, 2019 · 4 comments
Open

Not reserving RTCP Port #81

albertpv opened this issue Jan 16, 2019 · 4 comments

Comments

@albertpv
Copy link

The RTPProxy is performing reservation for two RTP Ports on each session (one for RTP and one for RTCP). Is there any elegant way to disable the reservation of RTCP Port ?

Our solution does not use/announce RTCP hence skipping that port would be appreciated.

@albertpv
Copy link
Author

albertpv commented Feb 15, 2019

Any feedback? (Is there a mailing list to address the question?¿)

@razvancrainea
Copy link
Contributor

No, unfortunately there is no way to disable reservation of RTCP port. Perhaps you should flag this ticket as a feature request.

@albertpv
Copy link
Author

Ok we can flag as feature request and in fact if i understand how to achieve this would have no problem to share with the community (maybe best would be as a define in makefile)

anyway in order to achieve this i tried removing any rtcp references in this file https://github.com/sippy/rtpproxy/blob/master/src/rtpp_session.c and recompile the project.

But still sawing both rtp and rtcp ports reserved when a session is created. What i would be missing to achieve it?

@sobomax
Copy link
Member

sobomax commented Jun 11, 2019

@albertpv could be easy, indeed. What you are missing here is that the RTCP port reservation is done deep inside the session creation code, so that you cannot decouple it from the RTP at higher level. It is done this way because it's easier: as we needed to allocate a consecutive pair (port, port+1). If we would allocate high-level RTP session and initialize it first, and then do the same for RTCP and the second part fails with EADDRINUSE we would have to tear down first and re-do. It is getting hairy as session initialization plugs into all sorts of places. Not impossible, but bit wasteful and just never occurred to us that somebody might want this.

So you are looking at tweaking create_twinlistener() function in the rtpp_command.c module to actually disable that port allocation.

My approach would be maybe making a dummy class with interface matching the rtpp_socket_ctor(), and construct that instead when i==1 (i.e. RTCP).

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

3 participants