>> By the way, I think there might be a bug in the handling of the >> periodic liveness commands: > No, the periodic ‘liveness’ commands are intended to test that the TCP > connection is still alive, and also to compensate for a large number of > servers that require these periodic commands in tell them that their client > (in this case, the proxy server) is still alive. However, they were never > intended to test for every possible way that a server might be buggy. > > If a server does not respond at all to an incoming “OPTIONS” command (and the > RTSP TCP connection is still alive), then the server is badly broken. You > need to repair (or replace) your server.
Thanks Ross! It seems what happened was that the camera lost its Wi-Fi connection before sending the OPTIONS response. The TCP connection remains alive, but the send() of the "OPTIONS" response silently fails. I modified the Wi-Fi reconnection script on the camera to restart the RTSP-server when reconnecting to the AP to make sure the connection is torn down to avoid any silent drop of TCP packages. This seems to work, except that the RTSP Proxy does not reconnect to the server. Clients are give the error message: RTSP/1.0 404 File Not Found, Or In Incorrect Format Log, 192.168.0.126 is in the process of reconnecting to the AP: Apr 09 22:10:30 Sending request: OPTIONS rtsp://192.168.0.126/ch0_0.h264/ RTSP/1.0 Apr 09 22:10:30 CSeq: 596 Apr 09 22:10:30 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:10:30 Session: 66334873 Apr 09 22:10:30 Apr 09 22:10:30 Apr 09 22:10:30 Received 154 new bytes of response data. Apr 09 22:10:30 Received a complete OPTIONS response: Apr 09 22:10:30 RTSP/1.0 200 OK Apr 09 22:10:30 CSeq: 596 Apr 09 22:10:30 Date: Sat, Apr 09 2016 20:12:20 GMT Apr 09 22:10:30 Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER Apr 09 22:10:30 Apr 09 22:10:30 Apr 09 22:10:33 Sending request: OPTIONS rtsp://192.168.0.124/ch0_0.h264/ RTSP/1.0 Apr 09 22:10:33 CSeq: 231 Apr 09 22:10:33 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:10:33 Session: 66334873 Apr 09 22:10:33 Apr 09 22:10:33 Apr 09 22:10:33 Received 154 new bytes of response data. Apr 09 22:10:33 Received a complete OPTIONS response: Apr 09 22:10:33 RTSP/1.0 200 OK Apr 09 22:10:33 CSeq: 231 Apr 09 22:10:33 Date: Sun, Apr 10 2016 04:12:23 GMT Apr 09 22:10:33 Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER Apr 09 22:10:33 Apr 09 22:10:33 Apr 09 22:10:33 Sending request: OPTIONS rtsp://192.168.0.125/ch0_0.h264/ RTSP/1.0 Apr 09 22:10:33 CSeq: 231 Apr 09 22:10:33 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:10:33 Session: 2AE8944A Apr 09 22:10:33 Apr 09 22:10:33 Apr 09 22:10:33 Received 154 new bytes of response data. Apr 09 22:10:33 Received a complete OPTIONS response: Apr 09 22:10:33 RTSP/1.0 200 OK Apr 09 22:10:33 CSeq: 231 Apr 09 22:10:33 Date: Sun, Apr 10 2016 04:12:23 GMT Apr 09 22:10:33 Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER Apr 09 22:10:33 Apr 09 22:10:33 Apr 09 22:10:46 Sending request: OPTIONS rtsp://192.168.0.123/ch0_0.h264/ RTSP/1.0 Apr 09 22:10:46 CSeq: 233 Apr 09 22:10:46 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:10:46 Session: 749ABB43 Apr 09 22:10:46 Apr 09 22:10:46 Apr 09 22:10:46 Received 154 new bytes of response data. Apr 09 22:10:46 Received a complete OPTIONS response: Apr 09 22:10:46 RTSP/1.0 200 OK Apr 09 22:10:46 CSeq: 233 Apr 09 22:10:46 Date: Sun, Apr 10 2016 04:12:36 GMT Apr 09 22:10:46 Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER Apr 09 22:10:46 Apr 09 22:10:46 Apr 09 22:10:51 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,H264]::closeStreamSource() Apr 09 22:10:51 Sending request: PAUSE rtsp://192.168.0.126/ch0_0.h264/ RTSP/1.0 Apr 09 22:10:51 CSeq: 597 Apr 09 22:10:51 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:10:51 Session: 66334873 Apr 09 22:10:51 Apr 09 22:10:51 Apr 09 22:10:51 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,MPEG4-GENERIC]::closeStreamSource() Apr 09 22:11:00 Sending request: OPTIONS rtsp://192.168.0.126/ch0_0.h264/ RTSP/1.0 Apr 09 22:11:00 CSeq: 598 Apr 09 22:11:00 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:11:00 Session: 66334873 Apr 09 22:11:00 Apr 09 22:11:00 Apr 09 22:11:03 Sending request: OPTIONS rtsp://192.168.0.124/ch0_0.h264/ RTSP/1.0 Apr 09 22:11:03 CSeq: 232 Apr 09 22:11:03 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:11:03 Session: 66334873 Apr 09 22:11:03 Apr 09 22:11:03 Apr 09 22:11:03 Received 154 new bytes of response data. Apr 09 22:11:03 Received a complete OPTIONS response: Apr 09 22:11:03 RTSP/1.0 200 OK Apr 09 22:11:03 CSeq: 232 Apr 09 22:11:03 Date: Sun, Apr 10 2016 04:12:53 GMT Apr 09 22:11:03 Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER Apr 09 22:11:03 Apr 09 22:11:03 Apr 09 22:11:03 Sending request: OPTIONS rtsp://192.168.0.125/ch0_0.h264/ RTSP/1.0 Apr 09 22:11:03 CSeq: 232 Apr 09 22:11:03 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:11:03 Session: 2AE8944A Apr 09 22:11:03 Apr 09 22:11:03 Apr 09 22:11:03 Received 154 new bytes of response data. Apr 09 22:11:03 Received a complete OPTIONS response: Apr 09 22:11:03 RTSP/1.0 200 OK Apr 09 22:11:03 CSeq: 232 Apr 09 22:11:03 Date: Sun, Apr 10 2016 04:12:53 GMT Apr 09 22:11:03 Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER Apr 09 22:11:03 Apr 09 22:11:03 Apr 09 22:11:11 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,H264]::createNewStreamSource(session id 770418308) Apr 09 22:11:11 Sending request: PLAY rtsp://192.168.0.126/ch0_0.h264/ RTSP/1.0 Apr 09 22:11:11 CSeq: 599 Apr 09 22:11:11 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:11:11 Session: 66334873 Apr 09 22:11:11 Apr 09 22:11:11 Apr 09 22:11:11 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,H264]::createNewRTPSink() Apr 09 22:11:11 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,MPEG4-GENERIC]::createNewStreamSource(session id 770418308) Apr 09 22:11:11 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,MPEG4-GENERIC]::createNewRTPSink() Apr 09 22:11:13 ProxyRTSPClient[rtsp://192.168.0.126/ch0_0.h264/]: lost connection to server ('errno': 11). Resetting... Apr 09 22:11:13 ProxyServerMediaSubsession[(NULL),H264]::closeStreamSource() Apr 09 22:11:13 ProxyServerMediaSubsession[(NULL),MPEG4-GENERIC]::closeStreamSource() Apr 09 22:11:13 ProxyServerMediaSubsession[(NULL),H264]::~ProxyServerMediaSubsession() Apr 09 22:11:13 ProxyServerMediaSubsession[(NULL),MPEG4-GENERIC]::~ProxyServerMediaSubsession() Apr 09 22:11:13 Opening connection to 192.168.0.126, port 554... Apr 09 22:11:13 Enter ProxyRTSPClient::continueAfterPLAY, resultCode-115 Apr 09 22:11:13 ...remote connection opened Apr 09 22:11:13 Sending request: DESCRIBE rtsp://192.168.0.126/ch0_0.h264 RTSP/1.0 Apr 09 22:11:13 CSeq: 600 Apr 09 22:11:13 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:11:13 Accept: application/sdp Apr 09 22:11:13 Apr 09 22:11:13 Apr 09 22:11:13 Sending request: OPTIONS rtsp://192.168.0.126/ch0_0.h264 RTSP/1.0 Apr 09 22:11:13 CSeq: 601 Apr 09 22:11:13 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:11:13 Apr 09 22:11:13 Apr 09 22:11:13 Received 1024 new bytes of response data. Apr 09 22:11:13 Received a complete DESCRIBE response: Apr 09 22:11:13 RTSP/1.0 200 OK Apr 09 22:11:13 CSeq: 600 Apr 09 22:11:13 Date: Sat, Apr 09 2016 20:13:04 GMT Apr 09 22:11:13 Content-Base: rtsp://192.168.0.126/ch0_0.h264/ Apr 09 22:11:13 Content-Type: application/sdp Apr 09 22:11:13 Content-Length: 857 Apr 09 22:11:13 Apr 09 22:11:13 v=0 Apr 09 22:11:13 o=- 1460232784210050 1 IN IP4 192.168.1.128 Apr 09 22:11:13 s=H.264 Program Stream, streamed by the LIVE555 Media Server Apr 09 22:11:13 i=ch0_0.h264 Apr 09 22:11:13 t=0 0 Apr 09 22:11:13 a=DevVer:pusher2 Apr 09 22:11:13 a=GroupName:IPCAM Apr 09 22:11:13 a=NickName:CIF Apr 09 22:11:13 a=CfgSection:PROG_CHN0 Apr 09 22:11:13 a=tool:LIVE555 Streaming Media v2011.08.13 Apr 09 22:11:13 a=type:broadcast Apr 09 22:11:13 a=control:* Apr 09 22:11:13 a=range:npt=0- Apr 09 22:11:13 a=x-qt-text-nam:H.264 Program Stream, streamed by the LIVE555 Media Server Apr 09 22:11:13 a=x-qt-text-inf:ch0_0.h264 Apr 09 22:11:13 m=video 0 RTP/AVP 96 Apr 09 22:11:13 c=IN IP4 0.0.0.0 Apr 09 22:11:13 b=AS:4000 Apr 09 22:11:13 a=rtpmap:96 H264/90000 Apr 09 22:11:13 a=control:trackID=1 Apr 09 22:11:13 a=fmtp:96 packetization-mode=1;profile-level-id=64001F;sprop-parameter-sets=Z2QAH6wrUCgC3IA=,aO48MA== Apr 09 22:11:13 a=framesize:96 1280-720 Apr 09 22:11:13 a=cliprect:0,0,1280,720 Apr 09 22:11:13 m=audio 0 RTP/AVP 97 Apr 09 22:11:13 a=rtpmap:97 mpeg4-generic/8000/2 Apr 09 22:11:13 a=fmtp:97 streamtype=5;profile-level-id=1;cpresent=0;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1590 Apr 09 22:11:13 a=control:trackID=2 Apr 09 22:11:13 Apr 09 22:11:13 ProxyServerMediaSession[rtsp://192.168.0.126/ch0_0.h264/] added new "ProxyServerMediaSubsession" for RTP/video/H264 track Apr 09 22:11:13 ProxyServerMediaSession[rtsp://192.168.0.126/ch0_0.h264/] added new "ProxyServerMediaSubsession" for RTP/audio/MPEG4-GENERIC track Apr 09 22:11:16 Sending request: OPTIONS rtsp://192.168.0.123/ch0_0.h264/ RTSP/1.0 Apr 09 22:11:16 CSeq: 234 Apr 09 22:11:16 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:11:16 Session: 749ABB43 Apr 09 22:11:16 Apr 09 22:11:16 Apr 09 22:11:16 Received 154 new bytes of response data. Apr 09 22:11:16 Received a complete OPTIONS response: Apr 09 22:11:16 RTSP/1.0 200 OK Apr 09 22:11:16 CSeq: 234 Apr 09 22:11:16 Date: Sun, Apr 10 2016 04:13:06 GMT Apr 09 22:11:16 Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER Apr 09 22:11:16 Apr 09 22:11:16 Apr 09 22:11:33 Sending request: OPTIONS rtsp://192.168.0.124/ch0_0.h264/ RTSP/1.0 Apr 09 22:11:33 CSeq: 233 Apr 09 22:11:33 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:11:33 Session: 66334873 Apr 09 22:11:33 Apr 09 22:11:33 Apr 09 22:11:33 Received 154 new bytes of response data. Apr 09 22:11:33 Received a complete OPTIONS response: Apr 09 22:11:33 RTSP/1.0 200 OK Apr 09 22:11:33 CSeq: 233 Apr 09 22:11:33 Date: Sun, Apr 10 2016 04:13:23 GMT Apr 09 22:11:33 Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER Apr 09 22:11:33 Apr 09 22:11:33 Apr 09 22:11:33 Sending request: OPTIONS rtsp://192.168.0.125/ch0_0.h264/ RTSP/1.0 Apr 09 22:11:33 CSeq: 233 Apr 09 22:11:33 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:11:33 Session: 2AE8944A Apr 09 22:11:33 Apr 09 22:11:33 Apr 09 22:11:33 Received 154 new bytes of response data. Apr 09 22:11:33 Received a complete OPTIONS response: Apr 09 22:11:33 RTSP/1.0 200 OK Apr 09 22:11:33 CSeq: 233 Apr 09 22:11:33 Date: Sun, Apr 10 2016 04:13:23 GMT Apr 09 22:11:33 Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER Apr 09 22:11:33 Apr 09 22:11:33 Apr 09 22:11:41 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,H264]::createNewStreamSource(session id 0) Apr 09 22:11:41 Initiated: ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,H264] Apr 09 22:11:41 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,H264]::createNewRTPSink() Apr 09 22:11:41 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,H264]::closeStreamSource() Apr 09 22:11:41 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,MPEG4-GENERIC]::createNewStreamSource(session id 0) Apr 09 22:11:41 Initiated: ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,MPEG4-GENERIC] Apr 09 22:11:41 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,MPEG4-GENERIC]::createNewRTPSink() Apr 09 22:11:41 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,MPEG4-GENERIC]::closeStreamSource() Apr 09 22:11:41 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,H264]::createNewStreamSource(session id 3166858091) Apr 09 22:11:41 Sending request: SETUP rtsp://192.168.0.126/ch0_0.h264/trackID=1 RTSP/1.0 Apr 09 22:11:41 CSeq: 602 Apr 09 22:11:41 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:11:41 Transport: RTP/AVP;unicast;client_port=46164-46165 Apr 09 22:11:41 Apr 09 22:11:41 Apr 09 22:11:41 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,H264]::createNewRTPSink() Apr 09 22:11:41 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,MPEG4-GENERIC]::createNewStreamSource(session id 3166858091) Apr 09 22:11:41 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,MPEG4-GENERIC]::createNewRTPSink() Apr 09 22:11:43 Sending request: OPTIONS rtsp://192.168.0.126/ch0_0.h264/ RTSP/1.0 Apr 09 22:11:43 CSeq: 603 Apr 09 22:11:43 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:11:43 Apr 09 22:11:43 Apr 09 22:11:46 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,H264]::closeStreamSource() Apr 09 22:11:46 ProxyServerMediaSubsession[rtsp://192.168.0.126/ch0_0.h264/,MPEG4-GENERIC]::closeStreamSource() Apr 09 22:11:46 Sending request: OPTIONS rtsp://192.168.0.123/ch0_0.h264/ RTSP/1.0 Apr 09 22:11:46 CSeq: 235 Apr 09 22:11:46 User-Agent: ProxyRTSPClient (LIVE555 Streaming Media v2016.03.16) Apr 09 22:11:46 Session: 749ABB43 Apr 09 22:11:46 Apr 09 22:11:46 Apr 09 22:11:46 Received 154 new bytes of response data. Apr 09 22:11:46 Received a complete OPTIONS response: Apr 09 22:11:46 RTSP/1.0 200 OK Apr 09 22:11:46 CSeq: 235 Apr 09 22:11:46 Date: Sun, Apr 10 2016 04:13:36 GMT Apr 09 22:11:46 Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER Apr 09 22:11:46 Apr 09 22:11:46 Apr 09 22:11:54 ProxyServerMediaSubsession[(NULL),H264]::~ProxyServerMediaSubsession() Apr 09 22:11:54 ProxyServerMediaSubsession[(NULL),MPEG4-GENERIC]::~ProxyServerMediaSubsession() Apr 09 22:11:54 Opening connection to 192.168.0.126, port 554... _______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel