Коди відповіді та їх значення у протоколі SIP

Коди відповідей сервера (коди стану запиту) у протоколі SIP, згідно RFC2543

Код відповіді від сервера (код стану запиту) складається з трьох цифр і показує інформацію про обробку запиту сервером або кінцевим пристроєм. Поруч із будь-яким кодом, передається пояснювальна фраза, короткий текстовий опис, код відповіді. Код відповіді необхідний для серверів і кінцевих пристроїв, при цьому вони не дивляться фрази, що пояснюють. А фрази, що пояснюють, необхідні лише для кінцевих користувачів.

Нижче наведено опис кодів стану запиту. Більше повний опис ви можете прочитати в RFC2543.

Перша цифра коду стану запиту визначає клас відповіді. Останні дві цифри немає певної ролі класифікації. Протокол SIP/2.0 визначає 6 значення першої цифри:

Далі розглянемо коди стану запитів, що часто зустрічаються, і пояснюють фрази до них, що використовуються в SIP/2.0. Пояснюючі фрази - це рекомендація, користувачі можуть змінити їх, без на протокол SIP/2.0. Зауважте, що багато кодів відповідей взято з протоколу HTTP/1.1. У SIP/2.0 додані коди в діапазоні x80, так само, на відміну від HTTP/1.1, доданий новий клас кодів 6xx.

Коди відповідей SIP розширюються. SIP додатку не потрібно розуміти значення всіх зареєстрованих кодів відповіді, хоча таке розуміння бажане. Тим не менш, програми повинні розуміти клас будь-якого коду відповіді, як це зазначено в першій цифрі, і обробляти будь-яку нерозпізнану відповідь як еквівалент коду відповіді x00 цього класу. Наприклад, якщо клієнт отримує незареєстрований код відповіді 431, він може сміливо припустити, що було щось не так у його запиті, і повинен опрацювати відповідь, якби був отриманий код 400 (Bad Request). У таких випадках агентам користувачаСлід подати користувачеві тіло повідомлення, що повертається з відповіддю, оскільки в тілі повідомлення, ймовірно, включена інформація, яка пояснює нестандартну відповідь.

Успіх виконання запиту:

  • "200"; OK – успішне виконання запиту
  • "202"; Accepted – запит прийнято в обробку

  • "500"; Internal Server Error – внутрішня помилка сервера
  • "501"; Not Implemented – сервер не підтримує функціональних можливостей, необхідних для виконання запиту.
  • "502"; Bad Gateway - сервер, діючи як шлюз або проксі-сервер, отримав неприпустиму відповідь від підлеглого сервера, до якого він звернувся для виконання запиту.
  • "503"; Service Unavailable – сервер в даний час не в змозі обробити запит через тимчасове навантаження або обслуговування сервера.
  • "504"; Gateway Time-out - сервер, діючи як шлюз, не отримав своєчасної відповіді від сервера (наприклад, сервер позиціонування) до якого він звернувся для виконання запиту.
  • "505"; SIP Version not supported – сервер не підтримує або відмовляється підтримувати версію протоколу SIP, який був використаний у повідомленні запиту