455-я ошибка при RTSP запросе SETUP

Пишу программу для работы с аудио/видео потоком камеры по протоколу RTSP. Спотыкаюсь при попытке отправить запрос "SETUP" из программы на камеру - не могу понять причину. В деталях протокола я не очень хорошо разбираюсь, поэтому если укажите ошибку буду рад. Сам RTSP сервер на камере работает корректно - проверил по openRTSP и другим программам.

f_you@qaz:~/programming/projects/ptz$ openRTSP rtsp://172.16.165.93:554/
Created new TCP socket 3 for connection
Connecting to 172.16.165.93, port 554 on socket 3...
...remote connection opened
Sending request: OPTIONS rtsp://172.16.165.93:554/ RTSP/1.0
CSeq: 2
User-Agent: openRTSP (LIVE555 Streaming Media v2018.02.18)


Received 169 new bytes of response data.
Received a complete OPTIONS response:
RTSP/1.0 200 OK
CSeq: 2
Server: Rtsp Server/3.0
Public: OPTIONS, DESCRIBE, ANNOUNCE, SETUP, PLAY, RECORD, PAUSE, TEARDOWN, SET_PARAMETER, GET_PARAMETER, HEARTBEAT


Sending request: DESCRIBE rtsp://172.16.165.93:554/ RTSP/1.0
CSeq: 3
User-Agent: openRTSP (LIVE555 Streaming Media v2018.02.18)
Accept: application/sdp


Received 772 new bytes of response data.
Received a complete DESCRIBE response:
RTSP/1.0 200 OK
CSeq: 3
x-Accept-Dynamic-Rate: 1
Content-Base: rtsp://172.16.165.93:554//
Cache-Control: must-revalidate
Content-Length: 592
Content-Type: application/sdp

v=0
o=- 2251938364 2251938364 IN IP4 0.0.0.0
s=Media Server
c=IN IP4 0.0.0.0
t=0 0
a=control:*
a=packetization-supported:VS
a=rtppayload-supported:VS
a=range:npt=now-
m=video 0 RTP/AVP 96
a=control:trackID=0
a=framerate:30.000000
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=4D002A;sprop-parameter-sets=Z00AKp2oHgCJ+WbgICAgQAA=,aO48gAA=
a=recvonly
m=audio 0 RTP/AVP 97
a=control:trackID=1
a=rtpmap:97 MPEG4-GENERIC/16000
a=fmtp:97 streamtype=5;profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1408
a=recvonly

Opened URL "rtsp://172.16.165.93:554/", returning a SDP description:
v=0
o=- 2251938364 2251938364 IN IP4 0.0.0.0
s=Media Server
c=IN IP4 0.0.0.0
t=0 0
a=control:*
a=packetization-supported:VS
a=rtppayload-supported:VS
a=range:npt=now-
m=video 0 RTP/AVP 96
a=control:trackID=0
a=framerate:30.000000
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=4D002A;sprop-parameter-sets=Z00AKp2oHgCJ+WbgICAgQAA=,aO48gAA=
a=recvonly
m=audio 0 RTP/AVP 97
a=control:trackID=1
a=rtpmap:97 MPEG4-GENERIC/16000
a=fmtp:97 streamtype=5;profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1408
a=recvonly

Created receiver for "video/H264" subsession (client ports 44346-44347)
Created receiver for "audio/MPEG4-GENERIC" subsession (client ports 39108-39109)
Sending request: SETUP rtsp://172.16.165.93:554//trackID=0 RTSP/1.0
CSeq: 4
User-Agent: openRTSP (LIVE555 Streaming Media v2018.02.18)
Transport: RTP/AVP;unicast;client_port=44346-44347


Received 172 new bytes of response data.
Received a complete SETUP response:
RTSP/1.0 200 OK
CSeq: 4
Session: 191973633;timeout=60
Transport: RTP/AVP/UDP;unicast;client_port=44346-44347;server_port=21468-21469;ssrc=083612BC
x-Dynamic-Rate: 1

Поскольку ответы всегда одинаковые, на начальном этапе я не стал парсить первые два ответа(они работают как надо через мое ПО), и отправляю сам SETUP непосредственно при коннекте.

[INFO] rtsp client connected
Send request to camera:
     "SETUP rtsp://172.16.165.93:554/trackID=0 RTSP/1.0\r\nCSeq: 1\r\nUser-Agent: Dispatcher CS. Cam_1\r\nTransport: RTP/AVP;unicast;client_port=32834-32835\r\n\r\n"
Received from camera:

     "RTSP/1.0 455 Method Not Valid in This State\r\nCSeq: 1\r\n\r\n"

На портах успешно 32834-5 биндится udp сокет, как я понял, эти порты используются для прослушки потока. Пробовал сохранить очередность, но ответ все тот же. RFC 7836 опредялет в ответе поле "Allow", на основе котолрого можно судить об ошибке, но его нету(смотрел пакет). Причина в самом запросе, но не могу понять где. Спасибо


Ответы (0 шт):