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

Got Unsupported transport with Genetec #1510

Open
fmcloudconsulting opened this issue Dec 16, 2024 · 4 comments · May be fixed by #1511
Open

Got Unsupported transport with Genetec #1510

fmcloudconsulting opened this issue Dec 16, 2024 · 4 comments · May be fixed by #1511
Assignees
Labels
question Further information is requested

Comments

@fmcloudconsulting
Copy link

Hello,

I have a RTSP client (Genetec, a CCTV commercial software) connecting to go2rtc.
However, it got "461 Unsupported transport".

The SETUP packet sent by Genetec:

SETUP rtsp://192.168.1.1:554/Camera1/trackID=0 RTSP/1.0
CSeq: 2
User-Agent: OmnicastRTSPClient/1.0
Transport: RTP/AVP/TCP;unicast

It seems the issue is caused by the missing interleaved parameter, which is expected by go2rtc (see here).

However, the interleaved parameter does not seem to be required by the RFC 2326.

Are there any specific reasons for requiring the interleaved parameter?
On the contrary, I’d be happy to open a PR to remove this condition.

Thanks

@AlexxIT AlexxIT added the question Further information is requested label Dec 16, 2024
@AlexxIT
Copy link
Owner

AlexxIT commented Dec 16, 2024

I don't think interleaved is optional for TCP transport. It's the first time I've ever seen a soft that misses it.

@AlexxIT AlexxIT self-assigned this Dec 16, 2024
@fmcloudconsulting
Copy link
Author

In Section 10.12 Embedded (Interleaved) Binary Data:

When the transport choice is RTP, RTCP messages are also interleaved
by the server over the TCP connection. As a default, RTCP packets are
sent on the first available channel higher than the RTP channel. The
client MAY explicitly request RTCP packets on another channel. This
is done by specifying two channels in the interleaved parameter of
the Transport header(Section 12.39).

In Section 12.39:

interleaved:
The interleaved parameter implies mixing the media stream with
the control stream in whatever protocol is being used by the
control stream, using the mechanism defined in Section 10.12.
The argument provides the channel number to be used in the $
statement. This parameter may be specified as a range, e.g.,
interleaved=4-5 in cases where the transport choice for the
media stream requires it.

Does it mean that the interleaved parameter is not strictly required in the Transport header and, by default, takes the first available channel higher than the RTP channel?

@fmcloudconsulting
Copy link
Author

Note: the same issue was raised for mediamtx and they fixed it by allowing the Transport header without interleaved parameter.

@AlexxIT
Copy link
Owner

AlexxIT commented Dec 17, 2024

I don't see any direct mention that the parameter is optional. Of course the server can select interleaved values using the increment method. I need to research how other software works in this case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants