본문 바로가기
Protocol/VoIP

17 SIP REFER / SIP SUBSCRIBE (23.05.26)

by Orangetasteboy 2023. 6. 21.

■  SIP REFER Method

●  RFC 3261 SIP 및 RFC 3515 The SIP Refer Method에서 정의
●  자원(resource)을 UA가 참조하게 함
●  Refer-To 헤더가 지정하는 자원을 활용하도록 제 3의 UA로 INVITE 전송

●  반드시 202 Accepted로 응답
●  부가서비스: Call Transfer

 

■  Refer-To 헤더

●  UA가 INVITE 요청을 제대로 발행하도록 정확한 목적지 주소 사용 필요

●  지원가능한 URI 형식

  • Refer-To: sip:alice@atlanta.example.com
  • Refer-To: sip:bob@Biloxi.example.net?Accept-
    Contact=sip:bob.sdesk.Biloxi.example.net@CallID%3D55432%40alicepc.atlanta.example.com>
  • Refer-To: sip:dave@Denver.example.org?Replaces=12345%40192.168.118.3%3Bto-tag%3D12345%3Bfrom-tag%3D5FFE-3994
  • Refer-To: sip:carol@cleve.examp.org;method=SUBSCRIBE
  • Refer-To: http://www.ietf.org

 

■  이벤트 처리 결과

●  SIP NOTIFY Method 사용

  • SIP REFEER 요청을 수신한 UA의 요청의 처리 결과 통보
  • SIP NOTIFY Method 바디에 다음 정보 표시
    1. SIP/2.0 100 Trying : 현재 REFER에 의해 요청된 이벤트 처리중
    2. SIP/2.0 200 OK : 현재 REFER에 의해 요청된 이벤트 정상 처리 완료
    3. SIP/2.0 5053 Service Unavailable : 현재 REFER에 의해 요청된 이벤트 실패
    4. SIP/20.3 603 Declined : 현재 REFER에 의해 요청된 이벤트 거절

 

■  SIP REFER 요청의 활용

●  Call Transfer

●  구현 방식에 따른 분류

  • Blind Transfer : 제 삼자와 통화없이 호 전환서비스 호출

  • Consultative Transfer : 제 삼자와 통화 후 승낙 받은 후에 호 전환 서비스 호출

 

■  등록 상태 정보를 활용하는 SIP 응용 서비스

●  상태 정보 변화에 대한 이벤트 통지를 요청하고 이벤트 변화에 대한 업데이트를 수시적으로 통지
●  RFC 3265 SIP-Specific Event Notification에서 설명하는 서비스

  • 자동 콜백 서비스(Automatic Callback Service)
  • 친구 목록(Buddy Lists)
  • 메시지 대기 표시 MWI(Message Waiting Indication)

 

■  등록 상태 머신(Registration State Machine)

●  RFC 3680 SIP Event Package for Registration
●  SIP REGISTRA 서버가 단말의 상태 정보를 관리 하는 방법

●  SIP 네트워크에서 등록이란?

  • 사용자의 AoR(Address-of-record)와 단말의 Contact Address를 바인딩하는 과정

 

●  등록 상태 정보

  • Init
    1. 사용자의 AoR에 단말의 Contact Address가 없는 상태
    2. SIP REGISTRA에 등록된 사용자이나 통화 가능한 단말이 없음
  • Active
    1. 사용자의 AoR에 하나 이상의 단말 Contact address가 바인딩된 상태
    2. SIP REGISTRA에 등록된 사용자이며 통화 가능한 단말이 있음
  • Terminated
    1. 사용자의 AoR에 단말의 Contact Address가 바인딩된 후 해제된 상태
    2. Terminated 된 후 등록 상태는 Init 상태로 전환

 

■  SIP SUBSCRIBE

●  신청자(Subscriber)가 SIP REGISTRA 서버에 특정 사용자의 상태 정보 업데이트를 요청하기 위해 사용
●  SIP REGISTRA 서버는 사용자의 상태 정보에 대한 이벤트가 발생할 경우 신청자에게 SIP NOTIFY METHOD로 결과를 통지

●  Notifier

  • 상태 정보를 관리하는 서버
  • SIP REGISTRA, SIP PREGENCE, SIP Proxy 서버 일 수 있음

 

■  SIP 채팅 서버(SUBSCRIBE)

●  SIP 채팅 서버는 친구 목록에 있는 주소에 대한 상태 정보를 SIP REGISTRA 서버에 요청

●  Header

  • Event 헤더
    1. 요청하는 이벤트를 명시
    2. Event:reg 는 등록 상태 정보를 요청
  • Expires 헤더
    1. SUBSCRIBE의 유효기간 명시
    2. 유효 기간 만료 전 같은 다이얼로그(같은 Call-ID)로주기적으로 SUBSCRIBE 요청
    3. Expoires:0은 Unsubscribe를 의미

 

댓글