본문 바로가기

SIP의 이해

SIP의 이해 - 5. RFC 3261의 주요 메쏘드 (II)

                                                                                글 싣는 순서

                                                                                  1. SIP의 개요 (RFC 3261)
                                                                                  2. SDP의 개요 (RFC 4566 & RFC 3264)
                                                                                  3. Early Media in SDP (RFC 3959, RFC 3960)
                                                                                  4. RFC 3261의 주요 매쏘드 (I)             
                                                                                  5. RFC 3261의 주요 매쏘드 (II) 
                                                                                  6. RFC 3261의 Response의 이해 
                                                                                  7. PRACK (RFC 3262)  
                                                                                  8. SUBSCRIBE & NOTIFY (RFC 3265, RFC 3680)
                                                                                  9. INFO  (RFC 2976) 
                                                                                 10. UPDATE (RFC 3311)
                                                                                 11. REFER (RFC 3515)
                                                                                 12. PUBLSIH (RFC 3903)

 

4장에서 설명되지 않은 나머지 매쏘드에 대해 살펴보겠습니다.  

CANCEL의 개요
Request를 취소하고자할 경우에 사용합니다. 다음과 같은 경우에 CANCEL 메쏘드가 필요할 것입니다.

  • 발신자가 전화번호를 누른 후에 링백을 듣다가 바로 수화기를 내려놓는 경우
  • Call Forking과 같은 기능 사용 시 받지 않는 나머지 전화에 대한 INVITE 요청을 취소할 경우
  • 상대방이 일정시간 동안 전화를 받지 않는 경우

CANCEL은 Request에 대한 취소 요청이므로, Request에 대한 Response가 발행되었다면, 취소할 수 없습니다. 예를 들면, INVITE에 대해 200 OK를 수신했다면 이미 통화중인 상태가 되는 것입니다. 이때는 BYE 매쏘드를 이용하여 종료해야 할 것입니다.

다음 그림은 CANCEL의 절차를 나타낸 것입니다. INVITE에 대한 요청이 수락되기전에 CANCEL을 통해 Request를 취소합니다.

그럼 CANCEL의 SIP 헤더 내용을 살펴보도록 하겠습니다. 새롭게 추가된 부분만을 살펴보겠습니다.

Reason 헤더가 새롭게 추가되었으며, CANCEL의 발행 이유에 대해 명기합니다.  원인은 486 Busy Here입니다. 즉, INVITE에 대한 200 OK를 기다리는 사이에 새로운 호가 인입되어 부득이 기존 호를 종료하게 된 것으로 추정할 수 있습니다.


---------------------------
라인하트
CCIEV #18487
linecard@naver.com