[Live-devel] RTSP connection management issue

Ralf Globisch rglobisch at csir.co.za
Mon Jul 2 14:29:29 PDT 2012


Hi Ross,


If an RTSP request belonging to an established  session is sent over a new TCP connection, the server seems to respond with a "405 Method Not Allowed". According to the RFC, RTSP requests can be transmitted in several different ways including one connection per request/response transaction?


This is especially a problem on android devices that experience connection issues. It seems network issues *sometimes* cause subsequent RTSP requests to be sent over a new connection resulting in the 405 response. We've observed this using VLC on android (which uses live555) and replicated it with a python script using the *latest* version of the live555 RTSP server. 


Output re-using connection:


OPTIONS response: RTSP/1.0 200 OK
CSeq: 2
Date: Mon, Jul 02 2012 21:20:10 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER


DESCRIBE response: RTSP/1.0 200 OK
CSeq: 3
Date: Mon, Jul 02 2012 21:20:10 GMT
Content-Base: rtsp://127.0.0.1:8554/test.aac/
Content-Type: application/sdp
Content-Length: 518


v=0
o=- 1341255550959061 1 IN IP4 192.168.1.16
s=AAC Audio, streamed by the LIVE555 Media Server
i=test.aac
t=0 0
a=tool:LIVE555 Streaming Media v2012.06.26
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:AAC Audio, streamed by the LIVE555 Media Server
a=x-qt-text-inf:test.aac
m=audio 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:96
a=rtpmap:96 MPEG4-GENERIC/44100/2
a=fmtp:96 streamtype=5;profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1210
a=control:track1


SETUP response: RTSP/1.0 200 OK
CSeq: 4
Date: Mon, Jul 02 2012 21:20:10 GMT
Transport: RTP/AVP;unicast;destination=127.0.0.1;source=127.0.0.1;client_port=43754-43755;server_port=6970-6971
Session: 269EF060


PLAY response: RTSP/1.0 200 OK
CSeq: 5
Date: Mon, Jul 02 2012 21:20:10 GMT
Range: npt=0.000-
Session: 269EF060
RTP-Info: url=rtsp://127.0.0.1:8554/test.aac/track1;seq=27747;rtptime=3310178955


TEARDOWN response: RTSP/1.0 200 OK
CSeq: 6
Date: Mon, Jul 02 2012 21:20:12 GMT


Output with new connections per request:





OPTIONS response: RTSP/1.0 200 OK
CSeq: 2
Date: Mon, Jul 02 2012 21:23:20 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER


DESCRIBE response: RTSP/1.0 200 OK
CSeq: 3
Date: Mon, Jul 02 2012 21:23:20 GMT
Content-Base: rtsp://127.0.0.1:8554/test.aac/
Content-Type: application/sdp
Content-Length: 518


v=0
o=- 1341255550959061 1 IN IP4 192.168.1.16
s=AAC Audio, streamed by the LIVE555 Media Server
i=test.aac
t=0 0
a=tool:LIVE555 Streaming Media v2012.06.26
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:AAC Audio, streamed by the LIVE555 Media Server
a=x-qt-text-inf:test.aac
m=audio 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:96
a=rtpmap:96 MPEG4-GENERIC/44100/2
a=fmtp:96 streamtype=5;profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1210
a=control:track1


SETUP response: RTSP/1.0 200 OK
CSeq: 4
Date: Mon, Jul 02 2012 21:23:20 GMT
Transport: RTP/AVP;unicast;destination=127.0.0.1;source=127.0.0.1;client_port=43754-43755;server_port=6970-6971
Session: 4BF1E275


PLAY response: RTSP/1.0 405 Method Not Allowed
CSeq: 5
Date: Mon, Jul 02 2012 21:23:20 GMT
Allow: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER


TEARDOWN response: RTSP/1.0 405 Method Not Allowed
CSeq: 6
Date: Mon, Jul 02 2012 21:23:22 GMT
Allow: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER



If it helps, I could send you the python script to replicate the issue. 
Do you consider this to be a bug?


Best regards,
Ralf




-- 
This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. 
The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html.

This message has been scanned for viruses and dangerous content by MailScanner, 
and is believed to be clean.

Please consider the environment before printing this email.




More information about the live-devel mailing list