(SIP) Client Transaction의 응답 매칭 방법

Network 2020. 3. 17. 13:28 Posted by Vispera

Via 헤더에 있는 Branch Parameter가 여기에 사용된다.

 

Client에 있는 Transport layer가 응답을 받으면

어떤 Client Transaction이 이 응답을 처리해야 하는지 결정해야 한다.

-> Top Via의 Branch Parameter 사용

 

아래 두 개의 방법으로 응답을 Client Transaction에 매칭한다.

 

1. 응답의 Top Via Branch Parameter가 Transaction에 의해 생성된 요청의 Branch Parameter와 같은지 확인

 

2. CSeq의 Method Parameter가 Transaction에 의해 생성된 요청의 Method Parameter와 같은지 확인

그런데 CANCEL은 다른 Transaction 임에도 불구하고

Branch Parameter는 공유한다. (동일하다.)

 

* 요청이 Multicast 인 경우

서로 다른 서버로부터 여러 개의 응답이 발생한다.

이 모든 응답들은 최상위 Via 에서  모두 같은 Branch Parameter를 갖는다. 같은 트랜잭션을 나타내기 때문이다.

To Tag Parameter에서 구분된다. 다 다르다. 응답한 곳이 서로 다르기 때문이다.

 

첫번째 응답은 정상 응답이지만, 

다른 응답은 재전송 응답으로 간주된다. -> ?

-> 에러가 아니다!

 

Multicast SIP는 단 하나의 응답 처리에만 국한되어있다.

기초적인 "Sigle-hop-discovery-like" 서비스만 제공한다.

 

 

'Network' 카테고리의 다른 글

(SIP) Timer C  (0) 2020.03.18
(SIP) Server Transaction  (0) 2020.03.17
(SIP) Client Transaction  (0) 2020.03.17
ARP Spoofing  (0) 2019.11.26
NFQNL Test  (0) 2019.11.26