본문 바로가기
Protocol/VoIP

15 SIP PRACK / SIP re-INVITE / SIP UPDATE (23.05.19)

by Orangetasteboy 2023. 6. 20.

■  Final Response(최종응답)

●  요청에 대한 처리의 결과로써 생성
●  요청에 대한 응답으로 동작하므로 신뢰할 수 있는 응답 제공

●  예) INVITE 에 대한 200 OK와 200 OK에 대한 ACK

 

■  Provisional Response(임의응답)

 요청에 대한 처리 중인 정보를 제공
●  전달 후에 응답을 기다리지 않으므로 신뢰할 수 없는 응답

●  예) 100 Trying과 183 Session Progress

 

■  200 OK 이전 신뢰할 수 있는 응답 제공 필요 이유

●  200 OK 전에 Early Media Session을 위한 SDP 협상 완료

 

■  SIP PRACK (Provisional Response ACKnowledgement)

●  RFC 3262 Reliability of Provisional Responses in the SIP

●  아직 설립되지 않은 세션에 대한 신뢰할 수 있는 응답 제공

  • 3-way handshake

●  101~199 Response에 대해서 신뢰할 수 있는 응답 제공

●  100 trying 제외 이유?

  • hop-by-hop, end-to-end 메커니즘 차이

●  Provisional ACK
●  200 OK 응답을 받음

●  Delayed Offer의 경우

  • PRACK에서 SDP Answer

●  기존 다이얼로그 유지

 

■  SIP re-INVITE

●  세션 설립 후 파라미터 재협상

  • 기존 INVITE Method를 활용하는 방법
  • INVITE/200 OK/ACK와 동일하게 동작
  • 새로운 다이얼로그로 세션 파라미터 변경
  • 대표적인 예: Call Hold 서비스 구동

 

■  re-INVITE의 대표적 사례-호 보류(Call Hold)

●  삼자 통화를 하거나 회의를 전환 할 때 사용
●  미디어 스트림의 방향 변경에 의한 호 보류

  • 사용자: Hold 버튼 누름 → 미디어 방향 ‘a=sendonly’로 변경
  • 사용자의 전화기 Mute
  • 상대방: ‘a=recvonly’ or ‘a=inactive’로 세션 파라미터 변경

 

■  SIP UPDATE

●  re-INVITE method로 세션 파라미터 재협상이 불가능한 상황

●  re-INVITE method는 세션 설립 완료 후 사용 가능
●  ex)

  • 앨리스의 전화기는 INVITE를 전송한 후,
  • 180 Ringing을 받아 링백톤 재생
  • 밥은 벨 소리를 듣고 수화기를 들기 전,
  • 호 전환을 위해 호 보류 버튼 누름
  • 200 OK가 전송되기 전에 호 보류 서비스 호출

 

●  RFC 3311 The SIP UPDATE Method에서 정의

  • 다이얼로그를 유지하면서 세션 파라미터 재협상

 

■  PRACK & UPDATE

댓글