RTSP Connects but UDP RTP Is Blocked: Firewall, NAT, Port Range, and TCP Interleaved Fixes
How to troubleshoot RTSP control working while UDP RTP media is blocked by firewall, NAT, VPN, missing port forwarding, or camera UDP source-port behavior.
One of the highest-intent RTSP problems is simple to describe: the camera connects, but there is no video. In many cases, RTSP control works over TCP, but UDP RTP media packets never reach the client. The user sees a successful login, SDP, maybe even PLAY 200 OK, and then a timeout. Searches like "RTSP connects but no video", "RTP UDP blocked firewall", "RTSP works on LAN not over VPN", "camera RTSP NAT no video", and "RTSP TCP interleaved fix" all point to this layer split.
RTSP is not one stream of data. The control channel and media channel can use different transport paths. If the control channel works and the media path fails, a player may show the same black screen as a codec failure. The packet evidence is different.
RtspInspector is useful because it separates RTSP control success from RTP media delivery.
Control works does not mean media works
A normal UDP RTP flow may look like:
- Client opens RTSP TCP connection to camera port 554.
- Client sends
DESCRIBE. - Camera returns SDP.
- Client sends
SETUPwith UDP client ports. - Camera returns UDP server ports.
- Client sends
PLAY. - Camera sends RTP packets to client UDP ports.
If steps 1-6 succeed and step 7 fails, the stream is not an RTSP login problem. It is a media path problem.
Transport header reveals the port plan
The SETUP request may include:
Transport: RTP/AVP;unicast;client_port=50000-50001
The camera may answer:
Transport: RTP/AVP;unicast;client_port=50000-50001;server_port=6970-6971
The camera should send RTP/RTCP to the client's UDP ports. Firewalls must allow that traffic. NAT devices must map it correctly. VPNs must carry it. If not, RTSP control can appear healthy while media is silent.
Common firewall and NAT failures
Common causes include:
- Firewall allows TCP 554 but blocks UDP RTP port range.
- NAT forwards RTSP port but not RTP ports.
- Camera sends RTP from unexpected source ports.
- Client advertises private UDP ports unreachable from camera.
- VPN allows TCP but drops UDP.
- Corporate firewall blocks high UDP ports.
- Camera is behind double NAT.
- RTP packets return to wrong interface.
The visible symptom is often "no video after PLAY."
Why TCP interleaved often works
RTSP over TCP interleaved carries RTP and RTCP inside the RTSP TCP connection. This avoids separate UDP pinholes.
If UDP mode fails and TCP interleaved works, that is strong evidence that the codec and camera are probably fine. The problem is likely UDP media transport.
However, TCP interleaved has its own parsing requirements, including channel mapping. It is a workaround for UDP path issues, not proof that every layer is healthy.
RTCP can help prove the path
If RTP is blocked but RTCP arrives, or vice versa, inspect port pairs. Some firewalls handle the two directions differently. RTCP receiver reports can also show packet loss and jitter if media partially arrives.
Record:
- RTP packet count.
- RTCP packet count.
- RTP source IP and port.
- RTP destination IP and port.
- Sequence number gaps.
- Time from
PLAYto first packet.
Debug checklist
Use this workflow:
- Confirm RTSP
DESCRIBE,SETUP, andPLAYsucceed. - Inspect
Transportheader and client/server UDP ports. - Check whether RTP packets arrive after
PLAY. - Check whether RTCP packets arrive.
- Compare LAN test vs VPN/WAN test.
- Test TCP interleaved transport.
- Check firewall rules for UDP RTP port range.
- Check NAT port forwarding and source-port behavior.
- Verify client advertised reachable UDP ports.
- Do not debug codec until RTP payloads actually arrive.
Final diagnosis
When RTSP connects but UDP RTP is blocked, the camera can be perfectly reachable while media never arrives. The fix is in UDP port reachability, NAT behavior, firewall policy, VPN rules, or switching to TCP interleaved.
RtspInspector helps by showing the RTSP control sequence and RTP packet evidence together, so "no video" becomes a concrete transport diagnosis.