์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- java
- StringBuilder
- ์คํ์์ด
- ์ฟ ํกDB
- ์ฐ์ฐ์
- ํ๋ฐฉ์ฟผ๋ฆฌ
- ์ฟ ํกERD
- ์๋ฐ
- ๋ฐฑ์ค11053 #ํ์ด์ฌ #python
- ๋ฌธ์์ด
- ๋ฐ์ดํฐํ์
- ๋
- ์
- ์คํ
- ๋ฐฑ์ค9093
- ์คํธ๋ฆผ
- ๋ฐฑ์ค1874
- stream
- StringBuffer
- ๋ฐฑ์ค9012
- ๋ฐฐ์ด
- ์ฐ
- Today
- Total
Tech Log ๐ ๏ธ
SIP์ ์ดํด์ Call Flow ๋ถ์ ๋ณธ๋ฌธ
SIP(Session Initiation Protocol)์ ๊ฐ์
SIP์ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ
- H.323์ ๋จ์ ์ ๊ทน๋ณต ํ๊ธฐ ์ํด
- H.323์ ์ ์ฝ์ด ๋ง์
SIP๋ ์ธ์
์ค์ ํ๋กํ ์ฝ์ด๋ฉฐ ํฌ๊ฒ 5๊ฐ์ ์ธ์
์ด ์์
1. ๋ค์๊ฐ ํ์
2. ์์ฑ ์ ํ
3. ์์ ์ ํ
4. ์ด๋ฒคํธ ์ ์ฒญ ๋ฐ ํต์ง
5. ์ํ ์ ๋ณด ๋ฐฐํฌ
SIP๋ TCP, UDP๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง ํ์ฌ๋ TCP๋ฅผ ๋ ๋ง์ด ์ฌ์ฉ
SIP ๋ฉ์ธ์ง๋ SIP ํค๋(๋ฉ์ธ์ง ๋ฐ๋์ ์ข
๋ฅ)์ ๋ฉ์์ง ๋ฐ๋(์ต์
ํ๋)๋ก ๊ตฌ์ฑ
SIP์ปดํฌ๋ํธ
SIP์ปดํฌ๋ํธ๋ค์ ํต์ ์์ ํธ๋ฅผ ์์ฑ/์ข ๋ฃํ๊ธฐ ์ํ ๊ธฐ๋ฅ๋ค์ ์ง์ ๊ตฌํํ๋ค.
UA
- UAC(์ธ์ ์์)
- UAS(ํธ๋ฅผ ์ข ๋จ)
- UA๋ผ๋ฆฌ ์ง์ ์ฐ๊ฒฐํ๊ฑฐ๋ ๋ฆฌ๋ค์ด๋ ํธ ์๋ฒ, ํ๋ก์๋ฅผ ํตํด ์ฐ๊ฒฐํ๋ค.
- ํธ์ ์ํ๋ฅผ ์ค์๊ฐ์ผ๋ก ๊ด๋ฆฌํ๋ค.
SIP Proxy
- ํธ๋ฅผ ์ข ๋จํ์ง ์๊ณ ๋ฆด๋ ์ดํด์ค๋ค.
SIP Gateway
- PSTN์ ํ๋ง๊ณผ IP ๋คํธ์ํฌ๋ฅผ ์ฐ๊ฒฐํด์ค๋ค.
SIP์์๋ ๋ณ๋์ ์๋ฒ๊ฐ IP ์ฃผ์ ๋งคํ ํ ์ด๋ธ์ ๊ฐ์ง๊ณ ์ ํ๊ธฐ์ ์ ๋ณด๋ค์ ์ ๋ฐ์ดํธํ๋ค.
์๋ฒ๋ฅผ ๊ธฐ๋ฅ์ ๋ฐ๋ผ 3๊ฐ์ง๋ก ๋ถ๋ฅํ ์ ์๋ค.
1. Registrar Server
- ์ ํ๊ธฐ๋ก๋ถํฐ SIP REGISTER ๋ฉ์ธ์ง๋ฅผ ๋ฐ์ ์ํ ์ ๋ณด๋ฅผ ์์ฑ/์ ๋ฐ์ดํธํ๋ค.
2. Proxy
- ์ ํ๊ธฐ๋ก๋ถํฐ ์์ ํ ์ ์ ์์ฒญ ๋ฉ์ธ์ง๋ฅผ ์ถ๊ฐ/๋ณ๊ฒฝ
- ๋ฉ์ธ์ง ์ ๋ฌ , ๊ณผ๊ธ ์ ๋ณด ๋ฑ์ ์์ฑ
3. Redirect Server
- ๋ฉ์ธ์ง๋ฅผ ์ ์กํ UAC์๊ฒ 3xx redirect ๋ฉ์ธ์ง๋ฅผ ๋ณด๋์ผ๋ก์จ ๋ชฉ์ ์ง๋ฅผ ์๋ ค์ค๋ค.
B2BUA
- SIP PROXY ๋ก ๊ตฌ์ฑ๋ IP PBX๋ ๋์ฉ๋ ์ฒ๋ฆฌ๋ฅผ ํ๋๋ฐ๋ ์ ์ฉํ์ง๋ง ๋ถ๊ฐ ๊ธฐ๋ฅ๊ณผ ์๋ก ๋ค๋ฅธ ํ๋กํ ์ฝ์ ์ฐ๋ํ๊ธฐ์๋ ๋ถ์กฑํ๋ค
(SIP๋ UA๊ฐ ๋ณด๋ธ ๋ฉ์ธ์ง ์ ์ฒด๋ฅผ ์์ ํ ์ ์๊ณ ์ผ๋ถ๋ง ์์ ๊ฐ๋ฅํจ)
๋ฐ๋ผ์ ๊ธฐ์ ์์๋ ์ด๋ฌํ ๋จ์ ๋ค ๋๋ฌธ์ B2BUA๋ก IP ํ๋ก์๋ฅผ ๊ตฌํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
B2BUA์ ๊ตฌ์ฑ
- B2BUA๋ ์ฐฉ์ ์ ํ๊ธฐ์ ๋ฐ์ ์ ํ๊ธฐ์ IP PBX๋ฅผ ๊ฐ๊ฐ ๋ง๋ค์ด์ฃผ๊ณ ๋ ๊ฐ์ ๋ค์ด์ผ๋ก๊ทธ๋ฅผ ์์ฑํ๋ค.
์ด๋ ๊ฒํ๋ฉด ๋ฉ์ธ์ง์ ํค๋์ ๋ฐ๋ ๋ถ๋ถ์ ๋ณ๊ฒฝํ ์ ์๊ณ , ํ๋กํ ์ฝ๊ฐ ์ฐ๋๋ ์ฉ์ดํด์ง๋ค.
์ผ๋ฐ์ ์ธ ๊ธฐ์ : B2BUA ์ฌ์ฉ (๋ถ๊ฐ ๊ธฐ๋ฅ ๊ฐ๋ฐ)
ํต์ ์ฌ์ ์ : SIP PROXY ์ฌ์ฉ (๋์ฉ๋ ์ฒ๋ฆฌ)
๊ธฐ๋ณธ์ ์ธ SIP CALL FLOW์ ์ดํด
SIP๋ ์์ฒญ/์๋ต ๊ธฐ๋ฐ์ ํ๋กํ ์ฝ์ด๊ธฐ ๋๋ฌธ์ ์ธ์ ์ ๋ํ ์ ์ด ์์ฒญ๊ณผ ์๋ต์ผ๋ก ํธ๋์ญ์ ์ ์งํํ๋ค.์์ฒญ์๋ 14๊ฐ(๊ธฐ๋ณธ 6๊ฐ,๋ถ๊ฐ ๊ธฐ๋ฅ 8๊ฐ)์ ๋ฉ์๋๊ฐ ์ ์๋์ด์๊ณ , ์๋ต์๋ 3๊ฐ์ ์๋ต์ด ์๋ค.
1. SIP Proxy ๊ฐ ์๋ ๊ฒฝ์ฐ
- ์จ๋ฆฌ์ค๊ฐ ๋ฐฅ์ IP๋ฅผ ์๋ค๊ณ ๊ฐ์ ํ๋ค.
๋ง์ฝ ์จ๋ฆฌ์ค๊ฐ ๋ฐฅ์๊ฒ ์ ํ๋ฅผ ๊ฑฐ๋ ์ํฉ์ ์๋ก ๋ค์ด๋ณด๋ฉด , ํฌ๊ฒ 3๊ฐ์ง์ ํ์ ๊ณผ์ ์ด ํฌํจ๋๋ค.
ํธ(CALL) ์ค๋ฆฝ ์ ์ฐจ
1. INVITE : ์ธ์ ์ ์ฐธ๊ฐ๋ฅผ ์์ฒญ
INVITE sip:bob@192.168.10.20 SIP/2.0
Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142
from ,to ํค๋๋ฅผ ํตํด ์จ๋ฆฌ์ค๊ฐ ๋ฐฅ์๊ฒ ํตํ๋ฅผ ์๋ํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
Via ํค๋๋ฅผ ํตํด ์๋ต์ ๋ฐ๋ ์ฃผ์๋ฅผ ๋ช ์ํ๊ณ ์๋ค.
CSeq๋ 314159๋ฒ์ด๋ฉฐ , ๊ฐ์ ๋ค์ด์ผ๋ก๊ทธ ๋ด์์ ์ด ๋ฒํธ๋ ์ ์ง๋๋ค.
2. 200 OK : ์ฐธ๊ฐ ์์ฒญ ์น์ธ
SIP/2.0 200 OK
Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bKnashds8 ;received=10.1.3.33
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:bob@192.168.10.20>
Content-Type: application/sdp
Content-Length: 131
๊ฐ์ ๋ค์ด์ผ๋ก๊ทธ ์ด๋ฏ๋ก CSeq๋ ๊ทธ๋๋ก ์ ์ง๋๋ค.
์ฌ๊ธฐ์ ์ฃผ๋ชฉํด์ผํ ์ ์ From , to ํค๋๊ฐ ๋ฐ๋์ง ์๊ณ ๊ทธ๋๋ก ์ ์ง๋๋ค๋ ๊ฒ์ธ๋ฐ, ์ด๊ฒ์ ํตํด From , to ํค๋๋ ์ถ๋ฐ์ง ๋ชฉ์ ์ง๊ฐ ์๋ ๋ฐฉํฅ์ฑ์ ๋ํ๋ธ๋ค๊ณ ๋ณผ ์ ์๋ค.
Via ํค๋์ received ํ๋๋ฅผ ์ถ๊ฐํ์ฌ ๋ฉ์์ง๋ฅผ ๋ฐ์ ์ ๋ณด(์จ๋ฆฌ์ค)๋ฅผ ๋ช ์ํ๊ณ ์๋ค.
3. ACK : ์น์ธ ํ์ธ (ACK๋ ๋ฐ๋ก ACK๊ฐ ๋๊ฐ์ง ์๋๋ค.)
ACK sip:bob@192.168.10.20 SIP/2.0
Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bKnashds8
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID:a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 ACK
Content-Length: 0
Received ํ๋๋ ์ง์์ก์ผ๋ฉฐ CSeq ๋ฅผ ํตํด 200 OK์ ๋ํ ACK์์ ํ์ธํ ์ ์๋ค.
ํ์ง๋ง ์ค์ ํต์ ์์๋ ๋ ๊ฐ์ง ํ๋ก์์ ๊ฐ ์ถ๊ฐ๋๋ค.
4. 100 TRYING : INVITE ๋ฅผ ๋ฐ๊ณ ์์ฒญ์ ์ ์์ ์ผ๋ก ์์ ํ์์ ์๋ฆผ
5. 180 RINGING : ์ก์ ์ธก์๊ฒ ๋ง๋ฐฑํค์ ์ ์ก
ํธ ์ข ๋ฃ ์ ์ฐจ
1. BYE : ์๋๋ฐฉ์ด ์ ํ๊ธฐ๋ฅผ ๋ด๋ ค๋๋๋ค.
BYE sip:alice@10.1.3.33 SIP/2.0
Via: SIP/2.0/TCP 192.168.10.20;branch=z9hG4bKnashds8
Max-Forwards: 70
To: Alice <sip:alice@atlanta.com>;tag=1928301774
From: Bob <sip:bob@biloxi.com>;tag=a6c85cf
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 231 BYE
Content-Length: 0
๋ฐฅ์ด ์จ๋ฆฌ์ค์๊ฒ ์์ฒญ์ ์ํฉ์ด๋ฏ๋ก ์๋ก์ด ๋ค์ด์ผ๋ก๊ทธ์ด๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ CSeq๋ ์๋ก์ด ๊ฐ์ ๋ฐ๋๋ค.
2. 200 OK : BYE ์์ฒญ์ ๋ํ ์๋ต
SIP/2.0 200 OK
Via: SIP/2.0/TCP 192.168.10.20
To: Alice <sip:alice@atlanta.com>;tag=1928301774
From: Bob <sip:bob@biloxi.com>;tag=a6c85cf
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 231 BYE
Content-Length: 0
CSeq๋ฅผ ํตํด BYE ์์ฒญ์ ๋ํ ์๋ต์์ ์ ์ ์๋ค.
2. SIP Proxy ๋ฅผ ๊ฒฝ์ ํ๋ ๊ฒฝ์ฐ
- ์จ๋ฆฌ์ค๋ ๋ฐฅ์ IP๋ฅผ ๋ชจ๋ฅด๊ณ SIP Proxy๋ฅผ ๊ฒฝ์ ํ๋ค๊ณ ๊ฐ์ ํ๋ค.
1. INVITE (์จ๋ฆฌ์ค -> ํ๋ก์)
INVITE sip:bob@biloxi.com/TCP SIP/2.0
Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID:a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142
์จ๋ฆฌ์ค๋ INVITE ๋ฉ์ธ์ง๋ฅผ ํ๋ก์ ์๋ฒ๋ก ์ ์กํ๋ค.
2. INVITE (ํ๋ก์ -> ๋ฐฅ)
INVITE sip:bob@192.168.10.20/TCP SIP/2.0
Via: SIP/2.0/TCP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1
Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK776asdhds;received=10.1.3.33
Max-Forwards: 69
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID:a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142
ํ๋ก์ ์๋ฒ๋ ๋ฐฅ์ URI๋ก ๋ฉ์ธ์ง๋ฅผ ์ ์กํ๋๋ฐ Via ํค๋๊ฐ ์ถ๊ฐ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
์ด๊ฒ์ ๋ฐฅ์ ์๋ต์ด ์๋ฒ๋ฅผ ๊ฒฝ์ ํ๊ธฐ ์ํจ์ด๋ฉฐ ์ด๋ ๊ฒ ํจ์ผ๋ก์จ ํธ์ ์งํ ์ํฉ์ ์ ์ ์๋ค.
์๋ฒ๋ฅผ ํ๋ ๊ฒฝ์ฐํ์ผ๋ฏ๋ก Max-Fowards ๋ 70์์ 69๋ก ๊ฐ์๋์๋ค.
3. 200OK (๋ฐฅ -> ํ๋ก์)
SIP/2.0 200 OK
Via: SIP/2.0/TCP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1;received=192.168.10.1
Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bKnashds8;received=10.1.3.33
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID:a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:bob@192.168.10.20>
Content-Type: application/sdp
Content-Length: 131
Viaํค๋์๋ ๊ฐ๊ฐ ์๋ฒ์ ์ฃผ์์ ์จ๋ฆฌ์ค์ ์ฃผ์๊ฐ Received ํ๋์ ์ถ๊ฐ๋์๋ค.
4. 200OK (ํ๋ก์ -> ์จ๋ฆฌ์ค)
SIP/2.0 200 OK
Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bKnashds8;received=10.1.3.33
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:bob@192.168.10.20>
Content-Type: application/sdp
Content-Length: 131
ํ๋ก์๋ ์์ ์ด ์ถ๊ฐํ๋ Via ํค๋๋ฅผ ์ง์ด ํ ๋ค์ ์จ๋ฆฌ์ค์๊ฒ ๋ฉ์ธ์ง๋ฅผ ์ ๋ฌํ๋ค.
5. ACK
ACK ์ดํ ๋ถํฐ๋ ํ๋ก์๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๋ฉ์ธ์ง๋ฅผ ์ ๋ฌํ๋๋ฐ ์ด๋ ๊ฒ ๋๋ฉด ํ๋ก์๋ ํธ์ ์งํ ์ํฉ์ ์ ์ ์๊ณ
๋ถ๊ฐ ๊ธฐ๋ฅ ๋ํ ๊ฐ๋ฐ์ด ๋ถ๊ฐ๋ฅํ๋ค.
๋ฐ๋ผ์ ๋ชจ๋ ๋ฉ์ธ์ง๊ฐ ํ๋ก์ ์๋ฒ๋ฅผ ๊ฒฝ์ ํ๋๋ก ํ๋ ๋ฐฉ๋ฒ์ด ํ์ํ๋ฐ ํ์ ๊ธฐ์ ํ Record - Route ํค๋์ Route ํค๋๋ฅผ
์ฌ์ฉํ๋ค.
'์ง๋ฅํ ๋คํธ์ํฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SDP ๊ฐ์ & ๋ฉ์ธ์ง ๋ถ์ (0) | 2023.05.24 |
---|---|
SIP REGISTER์ ์ดํด (0) | 2023.04.19 |
VoIP์ ์ดํด (0) | 2023.03.18 |
์ ํ๋ง์ ์ดํด (1) | 2023.03.18 |