I did this
After calling CURLOPT_RTSPREQ_SETUP my satip server has no more resources and sends back 503 with a No-More: parameter
(see https://www.satip.info/sites/satip/files/resource/satip_specification_version_1_2_2.pdf, page 53 - it's the only 5xx return code with optional body)
I captured the packet, it looks like this:

But: CURLOPT_WRITEFUNCTION doesn't get called at all! I tried CURLOPT_HEADER in the hope to get headers + data but all i get was this:
RTSP/1.0 503 Service Unavailable
CSeq:1001
Content-Length:18
CURLOPT_DEBUGFUNCTION returns as INFO Excess found: excess = 18 url = / (zero-length body)
I'm confused...
I expected the following
CURLOPT_WRITEFUNCTION without CURLOPT_HEADER enabled should return
or, with CURLOPT_HEADER enabled:
RTSP/1.0 503 Service Unavailable
CSeq:1001
Content-Length:18
No-More: sessions
curl/libcurl version
curl 8.4.0 (selfcompiled), but same with jammy version 7.81.0
operating system
Linux server 5.15.0-odroid-arm64 #1 SMP PREEMPT Ubuntu 5.15.118-202306231801~jammy (2023-06-23) aarch64 aarch64 aarch64 GNU/Linux