После получения и интерпретации «сообщения-запроса» получатель отвечает «сообщением-ответом» RTSP. Обычно, есть только один, последний, ответ. (раздел 8 из RFC 7826)
Первая строка ответного сообщения — это строка состояния (Status-Line), состоящая из версии протокола (RTSP-Version), за которой следует числовой код состояния (Status-Code) и текстовая фраза (Reason Phrase), связанная с кодом состояния, причем каждый элемент разделен символами SP. CR или LF не допускаются, кроме как в окончательной последовательности CRLF. (раздел 8.1 из RFC 7826)
<RTSP-Version> SP <Status-Code> SP <Reason Phrase> CRLF
Элемент «Status-Code» представляет собой трехзначный целочисленный код результата попытки понять и удовлетворить запрос. Эти коды полностью определены в разделе 17 из RFC 7826. Фраза причины (Reason Phrase) предназначена для краткого текстового описания Status-Code (кода состояния). Status-Code предназначен для использования автоматами, а фраза причины предназначена для пользователя. Клиент не обязан изучать или отображать фразу причины. Отдельные значения числовых кодов состояния, определенных для RTSP 2.0, и пример набора соответствующих фраз причины представлены в Таблице.
Код (Code) | Причина (Reason) | Метод (Method) | Раздел в RFC 7826 |
---|---|---|---|
100 | Продолжать (Continue) | Все (all) | Раздел 17.1.1 |
200 | Хорошо (OK) | Все (all) | Раздел 17.2.1 |
301 | Перемещён навсегда (Moved Permanently) | Все (all) | Раздел 17.3.2 |
302 | Найден (Found) | Все (all) | Раздел 17.3.3 |
303 | Смотрите Другое (See Other) | Недоступен (n/a) | Раздел 17.3.4 |
304 | Не модифицировано (Not Modified) | Все (all) | Раздел 17.3.5 |
305 | Использовать прокси (Use Proxy) | Все (all) | Раздел 17.3.6 |
400 | Неверный запрос (Bad Request) | Все (all) | Раздел 17.4.1 |
401 | Не авторизовавшийся (Unauthorized) | Все (all) | Раздел 17.4.2 |
402 | Требуется оплата (Payment Required) | Все (all) | Раздел 17.4.3 |
403 | Запрещено (Forbidden) | Все (all) | Раздел 17.4.4 |
404 | Не найдено (Not Found) | Все (all) | Раздел 17.4.5 |
405 | Метод не разрешен (Method Not Allowed) | Все (all) | Раздел 17.4.6 |
406 | Неприемлимо (Not Acceptable) | Все (all) | Раздел 17.4.7 |
407 | Требуется проверка подлинности прокси (Proxy Authentication Required) | Все (all) | Раздел 17.4.8 |
408 | Тайм-аут запроса (Request Timeout) | Все (all) | Раздел 17.4.9 |
410 | Ушел (Gone) | Все (all) | Раздел 17.4.10 |
412 | Предварительное условие не выполнено (Precondition Failed) | DESCRIBE, SETUP | Раздел 17.4.11 |
413 | Тело запроса слишком велико (Request Message Body Too Large) | Все (all) | Раздел 17.4.12 |
414 | Слишком длинный запрос URI (Request-URI Too Long) | Все (all) | Раздел 17.4.13 |
415 | Неподдерживаемый тип носителя (Unsupported Media Type) | Все (all) | Раздел 17.4.14 |
451 | Параметр не понят (Parameter Not Understood) | SET_PARAMETER, GET_PARAMETER | Раздел 17.4.15 |
452 | зарезервированный (reserved) — Неверный идентификатор конференции | Недоступен (n/a) | Раздел 17.4.16 |
453 | Не хватает пропускной способности (Not Enough Bandwidth) | SETUP | Раздел 17.4.17 |
454 | Сессия не найдена (Session Not Found) | Все (all) | Раздел 17.4.18 |
455 | Метод не действителен в этом состоянии (Method Not Valid in This State) | Все (all) | Раздел 17.4.19 |
456 | Поле заголовка недопустимо для ресурса (Header Field Not Valid for Resource) | Все (all) | Раздел 17.4.20 |
457 | Неверный диапазон (Invalid Range) | PLAY, PAUSE | Раздел 17.4.21 |
458 | Параметр доступен только для чтения (Parameter Is Read-Only) | SET_PARAMETER | Раздел 17.4.22 |
459 | Совокупная операция не разрешена (Aggregate Operation Not Allowed) | Все (all) | Раздел 17.4.23 |
460 | Разрешена только совокупная операция (Only Aggregate Operation Allowed) | Все (all) | Раздел 17.4.24 |
461 | Неподдерживаемый транспорт (Unsupported Transport) | Все (all) | Раздел 17.4.25 |
462 | Пункт назначения недоступен (Destination Unreachable) | Все (all) | Раздел 17.4.26 |
463 | Направление запрещено (Destination Prohibited) | SETUP | Раздел 17.4.27 |
464 | Транспорт данных еще не готов (Data Transport Not Ready Yet) | PLAY | Раздел 17.4.28 |
465 | Причина уведомления неизвестна (Notification Reason Unknown) | PLAY_NOTIFY | Раздел 17.4.29 |
466 | Ошибка управления ключами (Key Management Error) | Все (all) | Раздел 17.4.30 |
470 | Требуется авторизация соединения (Connection Authorization Required) | Все (all) | Раздел 17.4.31 |
471 | Учетные данные подключения не принимаются (Connection Credentials Not Accepted) | Все (all) | Раздел 17.4.32 |
472 | Неспособность установить безопасное соединение (Failure to Establish Secure Connection) | Все (all) | Раздел 17.4.33 |
500 | Внутренняя ошибка сервера (Internal Server Error) | Все (all) | Раздел 17.5.1 |
501 | Не реализовано (Not Implemented) | Все (all) | Раздел 17.5.2 |
502 | Плохой шлюз (Bad Gateway) | Все (all) | Раздел 17.5.3 |
503 | Сервис недоступен (Service Unavailable) | Все (all) | Раздел 17.5.4 |
504 | Время ожидания шлюза (Gateway Timeout) | Все (all) | Раздел 17.5.5 |
505 | Версия RTSP не поддерживается (RTSP Version Not Supported) | Все (all) | Раздел 17.5.6 |
551 | Опция не поддерживается (Option Not Supported) | Все (all) | Раздел 17.5.7 |
553 | Прокси недоступен (Proxy Unavailable) | Все (all) | Раздел 17.5.8 |
Ссылки на документы
Скачать оригинальный документ на английском языке RFC 7826 — Real-Time Streaming Protocol Version 2.0
Читать полную версию документа на русском языке RFC 7826 — Потоковый протокол в реальном времени (RTSP), версия 2.0
Не забывайте про поля общих заголовков RTSP 2.0, которые могут применяться как в запросах так и в ответах.
Помните о полях заголовков запросов RTSP 2.0. Изучите методы RTSP 2.0 с которыми применяются коды состояний ответа.