Fail to connect to RTSP server when SETUP message already has session ID
TempoTian opened this issue · comments
Client generate random session ID and use it to communicate with server
Test with other server success, but fail on this server.
Setup command like belowing:
SETUP rtsp://162.168.10.252:8554/mystream/trackID=0 RTSP/1.0
Transport: RTP/AVP/TCP;unicast;interleaved=0-1;mode=record
CSeq: 2
User-Agent: ESP32-RTSP-client 1.1.0
Session: 2494844
Server report:
2024/03/18 17:28:45 INF [RTSP] [conn 162.168.10.16:49469] closed: connection is linked to another session
As spec show that
The server generates session identifiers in response to SETUP
requests. If a SETUP request to a server includes a session
identifier, the server MUST bundle this setup request into the
existing session or return error "459 Aggregate Operation Not
Allowed" (see Section 11.3.10).
I think need memorize client session ID and build a map between client session ID and server session ID.
Hello, as mentioned in the specification, it's the server responsibility to generate a session ID, therefore, you shouldn't generate a random session ID on client side but use the one provided to you by the server.
Allowing the generation of session IDs on client side would generate a security issue since the cryptographic strength of those session IDs would vary depending on the client.