본문 바로가기
Protocol/VoIP

12 SIP Response (4xx, 5xx, 6xx) / 응용(23.04.14)

by Orangetasteboy 2023. 6. 20.

■  4xx Request Failure

●  특징

  • 요청 실패 통지
  • 응답에 실패 이유 명기
  • 발신 전화기는 메시지 변경 없이 같은 요청 반복 없음

 

●  400 Bad Request

  • 잘못된 문구나 메시지 포맷을 포함
  • 처리 할 수 없음
  • 주로 필수 SIP 헤더가 빠져 있을 때 발행

 

●  401 Unauthorized&407 Proxy Authentication Required

  • 요청은 사용자 인증이 필요함
  • 401: 등록 서버 or UAS
  • 407: SIP Proxy

 

●  403 Forbidden

  • 서버는 요청에 대한 처리를 거절

 

●  404 Not Found

  • Request-URI에 있는 도메인 주소가 존재하지 않음

 

●  406 Not Acceptable

  • Accept 헤더에 열거되지 않은 콘텐츠 타입을 요구

 

●  408 Request Timeout

  • 일정 시간 안에 요청에 대한 응답이 불가능

 

●  410 Gone

  • 요청한 자원이 서버에서 고정적으로 이용할 수 없음

 

●  413 Request Entity Too Large

  • 요청이 서버가 처리할 수 있는 용량을 초과함
  • 일시적이라면 Retry-After 헤더로 발신 전화기에 재시도 가능함을 표기

 

●  414 Request URI Too Large

  • Request-URI가 SIP Proxy 서버가 해석할 수 있는 길이 보다 김

 

●  415 Unsupported Media Type

  • 요청이 포함한 메시지 바디는 서버가 지원하지 않는 타입
  • 응답은 반드시 Accept, Accept-Encoding, 또는 Accept-Language 헤더 등을 포함해야함

 

●  416 Unsupported URI Scheme

  • 요청이 포함된 Request-URI Scheme을 해석 할 수 없음

 

●  420 Bad Extension

  • 요청한 Proxy-Require 헤더 또는 Require 헤더에 정의된 Extension을 해석할 수 없음
  • 응답은 반드시 Unsupported 헤더에 지원하지 않는 Extension을 명기

 

●  421 Extension Required

  • UAS는 요청을 처리하기 위해 특정 Extension이 필요하지만 Supported Header에 명기되지 않음
  • 응답은 Require 헤더에 필요한 Extension을 명기

 

●  423 Interval Too Brief

  • 요청하는 자원을 확보하기 위한 시간이 부족함

 

●  480 Temporarily Unavailable

  • 요청을 정상적으로 처리하고 연결할 수 있지만 상대방이 응답 가능하지 않음
  • 예: 로그인은 했지만 통화가 안 되거나 Do not Disturb 기능 이용중

 

●  481 Call/Transaction Does not Exist

  • 기존 다이얼로그나 트랜잭션과 일치되지 않음

 

●  482 Loop Detected

  • 루프 상황 검출
  • Via 헤더의 값으로 서버가 전송한 요청이 되돌아 옴

 

●  483 Too Many Hops

  • Max-Forwards 헤더 값 0

 

●  484 Address Incomplete

  • 불완전한 Request-URI를 포함

 

●  485 Ambiguous

  • 애매모호한 Request-URI를 포함
  • 응답은 Contact 헤더에 명확한 주소를 나열

 

●  486 Busy Here

  • 요청을 정상적으로 처리하고 연결할 수 있지만 상대방이 응답 가능하지 않음
  • 예: 통화중

 

●  487 Request Terminated

  • BYE 또는 CANCLE 요청에 의해 종료됨
  • CANCEL 요청에 대한 정상 응답은 200 OK
  • CANCEL 요청에 의해 취소된 INVITE 에 대한 응답

 

●  488 Not Acceptable Here

  • Request-URI에 명기된 특정 자원이나 코덱을 사용할 수 없음

 

●  491 Request Pending

  • UAS는 같은 다이얼로그에 미결된 요청이 있음

 

●  493 Undecipherable

  • 요청에 포함된 메시지 바디에 암호화된 MIME이 있어 처리할 수 없음

 

■  5xx Server Error

●  특징

  • 서버의 에러로 인해 요청을 처리할 수 없음을 통지

 

●  500 Server Internal Error

  • 요청을 처리하던 중에 서버 내부 문제로 인해 처리 불가

 

●  501 Not Implemented

  • 요청을 처리하기 위한 서비스나 기능이 서버에서 지원되지 않음

 

●  502 Bad Gateway

  • 게이트웨이나 Proxy 서버는 요청에 대한 잘못된 응답을 다른 서버로부터 받음

 

●  503 Server Unavailable

  • 서버는 일시적 과부하나 유지보수로 인해 요청 처리 불가
  • 응답은 Retry-After 헤더를 포함하여 UAC가 요청을 재전송할 수 있게함

 

●  504 Server Time-out

  • 서버는 외부 서버로부터 정해진 시간 내에 응답을 받지 못함

 

●  505 Version Not Supported

  • 서버는 SIP 프로토콜 버전을 지원하지 않음

 

●  513 Message Too Long

  • 서버는 요청의 메시지가 너무 길어서 처리할 수 없음

 

■  6xx Global Failures

●  특징

  • 특정 사용자에 대한 최종 정보를 가지고 있음을 통지
  • 사용자와 연결은 가능하나 통화는 불가

 

●  600 Busy Everywhere

  • 착신 전화기가 연결되었지만 전화를 받지 않음
  • 예: 수신자가 바빠서 받지 않음

 

●  603 Decline

  • 착신 전화기와 연결되었지만 전화를 받지 않음
  • 예: 상대방이 통화를 원하지 않음

 

●  604 Dose Not Exist Anywhere

  • 요청에 포함된 Request-URI의 사용자가 존재하지 않음

 

●  606 Not Acceptable

  • 착신 전화기가 연결되었지만 전화를 받지 않음
  • 예: 요청된 미디어나 대역폭의 부족으로 연결할 수 없음

 

■  SIP 응답 응용

●  Redirect: 302 Moved Temporarily

  • 밥의 IP 전화기는 오프라인 이거나 착신 번호 변경 상태
  • 가정
    1. SIP Server는 밥의 IP 전화기의 통화가능 여부를 알고 있음
    2. 밥이 모든 통화를 소프트폰으로 받기 위해 사전 설정함

 

●  Call Forward: 302 Moved Temporarily

  • 사용자가 전화기에서 착신전환(Call Forward ALL) 기능 설정

 

●  Unsupported Codec : 488 Not Acceptable Here

 

●  Called Party Busy : 486 Busy Here

  • 다른사람과 통화중
  • Proxy 서버는 bob의 현재 상태를 인지 못함
  • 유사한 응답
    1. 600 Busy Everywhere
    2. 488 Not Acceptable Here: 반드시 정확한 거절 이유를 명기 해야함

 

●  Call Forward Busy : 181 Call Forwarde

 

●  Gateway Congestion: 503 Service Unavailable

  • SIP Proxy 서버는 두 대의 게이트웨이를 이중화 및 로드 밸런싱 설정을 사전에 구성

댓글