์๋ , ๋๋ฃ๋ค!
ะ
VoIP ํธ๋ํฝ ๋ชจ๋ํฐ๋ง ์์คํ ์ํคํ ์ฒ
์ฐ๋ฆฌ๋ ๊ฑด์คํ๊ณ ๊ฑด์คํ๊ณ ๋ง์นจ๋ด ๊ฑด์คํ์ต๋๋ค. ๋ง์ธ!
๋งํ "์ฒด๋ธ๋ผ์์นด์ ์
์ด ๊ฒ๋"์์.
์์ ์ธ๊ธํ๋ฏ์ด ํต์ ๋ฐ ํต์ ์ฐ์
์๋ ํด๋น ๋ฒ์ฃผ์ ์ํ๋ ์ ํ์ด ์ถฉ๋ถํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฆ, ๊ฐ๋ฐ์, ํ๋ซํผ ๋ฑ์ ์ถ์ํํ๋ฉด ์ํคํ
์ฒ(์ ์ด๋ ์์ฑ์๊ฐ ์ฒ๋ฆฌํด์ผ ํ๋ ์ํคํ
์ฒ) ์ธก๋ฉด์์ ๋ชจ๋ ๊ฑฐ์ ๋์ผํ๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. ์ด๋ ํ์ ์ธ๋ถ ๋ถ์์ ์ํด ๋คํธ์ํฌ ์์์์ ํธ๋ํฝ์ ์บก์ฒํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์ด๋ผ๋ ์ ์ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ๋์ฑ์ด ํ์๋ ์ฃผ๊ด์ ์ธ ๊ฒฌํด๋ก ๋ณผ ๋ ํด๋น ์ฐ์
์ ๋ค์ํ ๋ถ์ผ์ ํ์ฌ ๋ฐ์ ์ ์ํด ํฌ๊ฒ ๊ฒฐ์ ๋ฉ๋๋ค. ๋ณด๋ค ๋ช
ํํ ์ดํด๋ฅผ ์ํด ๋ค์ ๋น์ ๋ฅผ ๊ณ ๋ คํ์ญ์์ค.
๋ฌ์์์ ์๋ํ ๊ณผํ์ Vladimir Aleksandrovich Kotelnikov๊ฐ ์ํ๋ง ์ ๋ฆฌ๋ฅผ ์ฐฝ์ํ ์๊ฐ๋ถํฐ ์ธ๋ฅ๋ ์์ฑ ์ ํธ๋ฅผ ์๋ ๋ก๊ทธ์์ ๋์งํธ๋ก, ๋์งํธ์์ ์๋ ๋ก๊ทธ๋ก ๋ณํํ ์ ์๋ ์์ฒญ๋ ๊ธฐํ๋ฅผ ์ป์์ต๋๋ค. IP ํ ๋ ํฌ๋๋ก์์ ํต์ . ์์ฑ ์ ํธ ์ฒ๋ฆฌ ๋ฉ์ปค๋์ฆ(์๊ณ ๋ฆฌ์ฆ, ์ฝ๋ฑ, ์ธ์ฝ๋ฉ ๋ฐฉ๋ฒ ๋ฑ)์ ๊ฐ๋ฐ์ ์ดํด๋ณด๋ฉด DSP(๋์งํธ ์ ํธ ์ฒ๋ฆฌ)๊ฐ ์ ๋ณด ๋ฉ์์ง ์ธ์ฝ๋ฉ์์ ์ด๋ป๊ฒ ๊ธฐ๋ณธ์ ์ธ ๋จ๊ณ๋ฅผ ๋ฐ์๋์ง ํ์ธํ ์ ์์ต๋๋ค. ์์ฑ ์ ํธ. ์ฆ, ๋จ์ํ ๋์งํธํํ๊ณ a ๋ฐ u ๋ฒ์น ์์ถ(G.711A/G.711U)์ ์ฌ์ฉํ๋ ๋์ ์ด์ ์ํ์ ์ผ๋ถ๋ง ์ ์กํ ๋ค์ ์ ์ฒด ๋ฉ์์ง๋ฅผ ๋ณต์ํ ์ ์์ผ๋ฏ๋ก ์๋นํ ๋น์ฉ ์ ๊ฐ์ด ๊ฐ๋ฅํฉ๋๋ค. ๋์ญํญ. MMT ์ฃผ์ ๋ก ๋์๊ฐ์ ํ์ฌ ํ๋ ๋๋ ๋ค๋ฅธ ์ ํ์ ๋ฏธ๋ฌ๋ง ์ธ์ ํธ๋ํฝ ์บก์ฒ ์ ๊ทผ ๋ฐฉ์์ ์ ์ฌํ ์ง์ ๋ณํ๊ฐ ์๋ค๋ ์ ์ ์ฃผ๋ชฉํฉ๋๋ค.
๊ด๋ จ ์ฃผ์ ์์ญ์ ์ ๋ฌธ๊ฐ๊ฐ ๊ตฌ์ถํ ๋ด์ฉ์ ๋ณด์ฌ์ฃผ๋ ์๋ ๊ทธ๋ฆผ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๊ทธ๋ฆผ 1. SMT ์ํคํ
์ฒ์ ์ผ๋ฐ ๋ค์ด์ด๊ทธ๋จ
๊ฑฐ์ ๋ชจ๋ SMT๋ ์๋ฒ์ ํธ๋ํฝ ์บก์ฒ ์์ด์ ํธ(๋๋ ํ๋ก๋ธ)๋ผ๋ ๋ ๊ฐ์ง ์ฃผ์ ๊ตฌ์ฑ ์์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์๋ฒ๋ ์๋ด์์ผ๋ก๋ถํฐ ์ค๋ VoIP ํธ๋ํฝ์ ์์ , ์ฒ๋ฆฌ ๋ฐ ์ ์ฅํ๋ฉฐ ์ ๋ฌธ๊ฐ์๊ฒ ์์ ๋ ์ ๋ณด๋ฅผ ๋ค์ํ ๋ณด๊ธฐ(๊ทธ๋ํ, ๋ค์ด์ด๊ทธ๋จ, ํตํ ํ๋ฆ ๋ฑ)๋ก ์์ ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์บก์ฒ ์์ด์ ํธ๋ ๋คํธ์ํฌ ํต์ฌ ์ฅ๋น(์: SBC, ์ํํธ์ค์์น, ๊ฒ์ดํธ์จ์ด ๋ฑ)๋ก๋ถํฐ VoIP ํธ๋ํฝ์ ์์ ํ๊ณ , ์ด๋ฅผ ์ ์ฉ ์์คํ ์๋ฒ ์ํํธ์จ์ด์์ ์ฌ์ฉํ๋ ํ์์ผ๋ก ๋ณํํ ํ ํ์ ์กฐ์์ ์ํด ํ์๋ก ์ ์กํฉ๋๋ค.
์์ ์์์ ๋ง์ฐฌ๊ฐ์ง๋ก ์๊ณก๊ฐ๋ ์ํ์ ์ฃผ์ ๋ฉ๋ก๋์ ๋ํ ๋ณ์ฃผ๋ฅผ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ์ด ๊ฒฝ์ฐ ์ ๊ตฌ์ฑํ๋ฅผ ๊ตฌํํ๊ธฐ ์ํ ๋ค์ํ ์ต์ ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ค์ ๋ค์์ฑ์ ์๋นํ ํฌ๋ฉฐ ์ฃผ๋ก MMT๊ฐ ๋ฐฐํฌ๋๋ ์ธํ๋ผ์ ํน์ฑ์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ต์ ์ ์บก์ฒ ์์ด์ ํธ๊ฐ ์ค์น๋๊ฑฐ๋ ๊ตฌ์ฑ๋์ง ์์ ์ต์ ์ ๋๋ค. ์ด ๊ฒฝ์ฐ ๋ถ์๋ ํธ๋ํฝ์ ์๋ฒ๋ก ์ง์ ์ ์ก๋๊ฑฐ๋, ์๋ฅผ ๋ค์ด ์๋ฒ๋ ๋ชจ๋ํฐ๋ง ๊ฐ์ฒด์์ ์์ฑ๋ pcap ํ์ผ๋ก๋ถํฐ ํ์ํ ์ ๋ณด๋ฅผ ์์ ํฉ๋๋ค. ์ด ์ ๋ฌ ๋ฐฉ๋ฒ์ ์ผ๋ฐ์ ์ผ๋ก ํ๋ก๋ธ๋ฅผ ์ค์นํ ์ ์๋ ๊ฒฝ์ฐ ์ ํ๋ฉ๋๋ค. ์ฌ์ดํธ์ ์ฅ๋น ์์น, ๊ฐ์ํ ๋๊ตฌ๋ฅผ ์ํ ๋ฆฌ์์ค ๋ถ์กฑ, ์ ์ก IP ๋คํธ์ํฌ ๊ตฌ์ฑ์ ๊ฒฐํจ, ๊ฒฐ๊ณผ์ ์ผ๋ก ๋คํธ์ํฌ ์ฐ๊ฒฐ ๋ฌธ์ ๋ฑ์ด ๋ชจ๋ ์ธ๊ธ๋ ํญ๋ชฉ์ ์ ํํ๋ ์ด์ ์ผ ์ ์์ต๋๋ค. ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ ์ต์ .
์ํคํ ์ฒ ๊ด์ ์์ ์ด SMT ๋๋ ์ SMT๊ฐ IT ์ธํ๋ผ์ ๊ตฌํ๋ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๊ณ ์ดํดํ ํ์๋ ์์คํ ๊ด๋ฆฌ์์ ์ญ๋ ๋ด์ ์๋ ์ธก๋ฉด, ์ฆ ์๋ฒ์ ์์คํ ์ํํธ์จ์ด๋ฅผ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๊ณ ๋ คํ ๊ฒ์ ๋๋ค.
๊ณ ๋ ค ์ค์ธ ๋ชจ๋ํฐ๋ง ๋คํธ์ํฌ ๊ตฌ์ฑ ์์์ ๊ตฌํ์ ๋ํ ๊ฒฐ์ ์ ์ค๋นํ๋ ๋์ ๊ตฌํ์๋ ํญ์ ๋ง์ ์ง๋ฌธ์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์๋ฒ ํ๋์จ์ด์ ๊ตฌ์ฑ์ ์ด๋ป๊ฒ ๋์ด์ผ ํ๋์ง, ๋ชจ๋ ์์คํ ๊ตฌ์ฑ ์์๋ฅผ ํ๋์ ํธ์คํธ์ ์ค์นํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํ์ง, ์๋๋ฉด ์๋ก ๋ถ๋ฆฌ๋์ด์ผ ํ๋์ง, ์ํํธ์จ์ด๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ ๋ฑ์ด ์์ต๋๋ค. ์์ ๋์ด๋ ์ง๋ฌธ๊ณผ ๊ธฐํ ๋ง์ ๊ด๋ จ ์ง๋ฌธ์ ๋งค์ฐ ๊ด๋ฒ์ํ๋ฉฐ ๋๋ถ๋ถ์ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ ์ค์ ๋ก ํน์ ์๋ ์กฐ๊ฑด(๋๋ ์ค๊ณ)์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ๊ทธ๋ฌ๋ CMT ๋ฐฐํฌ์ ์ด๋ฌํ ์ธก๋ฉด์ ๋ํ ์ผ๋ฐ์ ์ธ ์์ด๋์ด์ ์ดํด๋ฅผ ์ป๊ธฐ ์ํด ์ธ๋ถ ์ฌํญ์ ์์ฝํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด SMT๋ฅผ ๊ตฌํํ ๋ ์ ๋ฌธ๊ฐ๋ค์ด ํญ์ ๊ฐ์ฅ ๋จผ์ ๊ด์ฌ์ ๋๋ ๋ถ๋ถ์ ์๋ฒ๋ฅผ ์ด๋ค ์ฑ๋ฅ ํน์ฑ๊ณผ ํจ๊ป ์ฌ์ฉํด์ผ ํ๋๋๋ ๊ฒ์ ๋๋ค. ์์ ์ํํธ์จ์ด์ ๊ด๋ฒ์ํ ์ฌ์ฉ์ ๊ณ ๋ คํ ๋ ์ด ์ง๋ฌธ์ ๋๋ฌด ๋ง์ด ์์ฒญ๋์ด ๊ทธ ์ธ๊ธฐ๋ ์๋ง๋ Nikolai Gavrilovich Chernyshevsky๊ฐ ๋ฌป๋ "์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?"๋ผ๋ ์ง๋ฌธ๊ณผ ๋น๊ตํ ์ ์์ ๊ฒ์ ๋๋ค... ๋ต๋ณ์ ์ํฅ์ ๋ฏธ์น๋ ์ฃผ์ ์์ธ์ ๊ฐ์์ ๋๋ค. ์ ํ ํต์ ํ๋ซํผ์์ ์ฒ๋ฆฌ๋์๊ฑฐ๋ ์ฒ๋ฆฌ๋ ๋ฏธ๋์ด ์ธ์ ์ ๋๋ค. ์ธ๊ธ๋ ์์์ ๋ํ ๊ตฌ์ฒด์ ์ธ ํ๊ฐ๋ฅผ ์ ๊ณตํ๋ ์ซ์ ๋ฐ ์ ํ ํน์ฑ์ CAPS(์ด๋น ํธ์ถ ์๋ ํ์) ๋งค๊ฐ๋ณ์ ๋๋ ์ด๋น ํธ์ถ ์์ ๋๋ค. ์ด ์ง๋ฌธ์ ๋ตํด์ผ ํ๋ ์ด์ ๋ ์๋ฒ์ ๋ถํ๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์์คํ ์ผ๋ก ์ ์ก๋ ์ธ์ ์ ๋ํ ์ ๋ณด๋ผ๋ ์ฌ์ค ๋๋ฌธ์ ๋๋ค.
์๋ฒ ํ๋์จ์ด ๊ตฌ์ฑ ์์์ ํน์ฑ์ ๊ฒฐ์ ํ ๋ ๋ฐ์ํ๋ ๋ ๋ฒ์งธ ๋ฌธ์ ๋ ์๋ฒ์์ ์๋ํ ์ํํธ์จ์ด(์ด์ ํ๊ฒฝ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ)์ ๊ตฌ์ฑ์ ๋๋ค. ์ ํธ(๋๋ ๋ฏธ๋์ด) ํธ๋ํฝ์ด ์๋ฒ์ ๋์ฐฉํ๋ฉด ์ผ๋ถ ์ ํ๋ฆฌ์ผ์ด์ (์: Kamailio)์ ์ํด ์ฒ๋ฆฌ(์ ํธ ๋ฉ์์ง ๊ตฌ๋ฌธ ๋ถ์)๋ ๋ค์ ํน์ ๋ฐฉ์์ผ๋ก ์์ฑ๋ ์ ๋ณด๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ฉ๋๋ค. ๋ค๋ฅธ CMT์ ๊ฒฝ์ฐ ์ ํธ ์ฅ์น ์กฐ๊ฐ ๋ชจ์์ ์ํํ๋ ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ์ ์ฅ์๋ฅผ ์ ๊ณตํ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋ชจ๋ ๋ค๋ฅผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ค์ ๋ชจ๋ ๋ฉํฐ์ค๋ ๋ฉ์ด๋ผ๋ ๋์ผํ ํน์ฑ์ผ๋ก ํตํฉ๋์ด ์์ต๋๋ค. ๋์์ SMT์ ๊ฐ์ ์ธํ๋ผ ์์์ ํน์ฑ์ผ๋ก ์ธํด ์ด ์์ ์์ ๋์คํฌ์ ๋ํ ์ฐ๊ธฐ ์์ ์๊ฐ ๋์คํฌ์ ์ฝ๊ธฐ ์์ ์๋ฅผ ํฌ๊ฒ ์ด๊ณผํ๋ค๋ ์ ์ ์ ์ํด์ผ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก... "์ด ๋จ์ด์๋ ๋๋ฌด ๋ง์ ๋ด์ฉ์ด ์์ต๋๋ค": ์๋ฒ, ๊ฐ์ํ, ์ปจํ
์ด๋ํ... ์ด ๊ธฐ์ฌ์ ์ด ๋ถ๋ถ์์ ๋ค๋ฃฌ ๋ง์ง๋ง์ด์ง๋ง ๋งค์ฐ ์ค์ํ ์ธก๋ฉด์ ๋ฐฐํฌ ์ค์ MMT ๊ตฌ์ฑ ์์๋ฅผ ์ค์นํ ์ ์๋ ๊ฐ๋ฅํ ๋ฐฉ๋ฒ์
๋๋ค. A.S. ์ ๋ถ๋ฉธ์ ์ํ ์ธ์ฉ๋ฌธ ์์ ๋์ด๋์ด ์์ต๋๋ค. ํธ์ฌํจ ๊ธฐ์ ์ ๋ค์ํ ์ธํ๋ผ์ ํ๋ก์ ํธ์ ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค. ํํธ์ผ๋ก๋ ์๋ก ๋ฐ์ ํ๊ฒ ์ฐ๊ฒฐ๋์ด ์๊ณ ๋ค๋ฅธ ํํธ์ผ๋ก๋ ์ฌ๋ฌ ๊ธฐ์ค์์ ๋์ ๋๊ฒ ๋ค๋ฆ
๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ค ๋ชจ๋๋ ์ด๋ค ํํ๋ก๋ ๊ฐ๋ฐ์๊ฐ ์ ํ ์ค์น์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ต์
์ผ๋ก ์ ๊ณตํฉ๋๋ค. ๊ธฐ์ฌ์ ์ฒซ ๋ฒ์งธ ๋ถ๋ถ์ ๋์ด๋ ์์คํ
์ ์์ฝํ๋ฉด ๋ฌผ๋ฆฌ์ ์๋ฒ ๋๋ ๊ฐ์ ๋จธ์ ์ ์์คํ
์ ๋ฐฐํฌํ๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
โ ์๋ ์ค์น ์คํฌ๋ฆฝํธ ๋๋ ์์ฒด ์ค์น ๋ฐ ํด๋น ์ํํธ์จ์ด์ ํ์ ๊ตฌ์ฑ ์ฌ์ฉ,
โ ์ฌ์ ์ค์น๋ SMT ์ํํธ์จ์ด ๋ฐ/๋๋ ์์ด์ ํธ์ ํจ๊ป ๊ธฐ์ฑ OS ์ด๋ฏธ์ง ์ฌ์ฉ,
โ ์ปจํ
์ด๋ํ ๊ธฐ์ (Docker) ์ฌ์ฉ.
๋์ด๋ ์ค์น ๋๊ตฌ์๋ ์ฅ์ ๊ณผ ๋จ์ ์ด ์์ผ๋ฉฐ ์ ๋ฌธ๊ฐ๋ ๊ถ์ฅ ์ฌํญ์ ํ๋ช ํ๊ธฐ ์ํด ์์ ์ด ์ด์ํ๊ฑฐ๋ ๊ตฌํํ๋ ์ธํ๋ผ๊ฐ ์์นํ ํน์ ์กฐ๊ฑด, ์ ํ ์ฌํญ ๋ฐ ์ ํธ๋๊ฐ ์์ต๋๋ค. ๋ฐ๋ฉด, SIP ํธ๋ํฝ ๋ชจ๋ํฐ๋ง ์์คํ ์ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ค๋ช ์ ๋งค์ฐ ํฌ๋ช ํ๋ฉฐ ํ ๋จ๊ณ์์๋ ๋ ์์ธํ ๊ณ ๋ ค๊ฐ ํ์ํ์ง ์์ต๋๋ค.
์ด๊ฒ์ VoIP ๋คํธ์ํฌ์ ์ค์ํ๊ณ ํฅ๋ฏธ๋ก์ด ์์์ธ SIP ํธ๋ํฝ ๋ชจ๋ํฐ๋ง ์์คํ
์ ๋ํ ๋ ๋ค๋ฅธ ๊ธฐ์ฌ์
๋๋ค. ์ธ์ ๋ ๊ทธ๋ ๋ฏ, ์ด ์๋ฃ์ ๊ด์ฌ์ ๊ฐ์ ธ์ฃผ์ ๋
์ ์ฌ๋ฌ๋ถ๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค! ๋ค์ ๋ถ๋ถ์์๋ ์ธ๋ถ ์ฌํญ์ ๋์ฑ ์์ธํ ์ดํด๋ณด๊ณ HOMER SIP Capture ๋ฐ SIP3 ์ ํ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ถ์ฒ : habr.com