Call 공부 (1) VoIP의 필요성, 시그널링, 기본 SIP Flow

(정말정말 알고 싶지 않았지만) 전화에 대해서 공부를 해야 할 필요성을 느끼게 되었다.

단순하게 인프라 단만 알아서는 업무를 하는 데 어려움을 느껴서 짬날 때마다 공부하고 알게 된 것을 블로그에 적어보려 한다.

 


VoIP의 필요성

VoIP는 전화망에 비해 시간/거리에 따른 금액적 장점 때문에 사용하며, 기존 전화망에 VG를 달아서 사용한다.

먼저, VoIP인터넷을 통한 음성 연결을 말한다. 그렇다면 왜 인터넷을 통한 음성 연결이 필요하냐? 전화망은 사용 시간 & 거리에 따라 요금이 달라지지만, 인터넷망으로 서울에서 미국 브라우저를 접속한다고 요금이 올라가지는 않는다. 즉, 이런 금액적 이점 때문에 장거리 전화 및 국제전화가 인터넷으로 이루어지고 있다.

 

설계 방식 - 음성 게이트웨이

위와 같이 기업에 기존에 설치된 PBX 및 전화기는 그대로 두고, 전화망이 아닌 인터넷망을 쓰도록 만든 시스템이 바로 음성 게이트웨이(VG) 이다.

 


 

시그널링

전화 자체의 접속/해제/제어 관리 과정을 시그널링이라하며, 프로토콜은 SIP이다.

시그널링이란, 호(전화)의 접속/해제/제어 관리에 관련된 정보를 교환하는 과정이다. 즉, 발신자가 전화번호를 누르기 시작하여 수신자가 전화기를 들 때까지의 과정을 말한다.

크게는 주소 변역(IP망 - 전화망 사이 번역), 코덱 협상(음성을 어떤 방식으로 압축할 지), 정책 결정(허가 받은 사용자 인 지, 상대방은 전화 받을 권한이 있는 지)의 세 가지 역할을 수행한다.

이러한 시그널링 단계의 프로토콜은 SIP(Session Initiation Protocol)로 통일 되었다.

참고로, IP망에서 시그널링이 완료된 후에 실제 음성을 전달하기 위한 프로토콜은 RTP(Real-time Transport Protocol)이다.

 


 

기본 SIP Flow

SIP 통화는 발신자가 전화를 걸며 INVITE를 보내고, 수신자가 받으면 200 OK로 응답한 뒤 발신자가 ACK를 보내 세션이 연결되며, 통화 종료 시 끊는 사람이 BYE를 보내고 상대방이 200 OK로 응답하는 방식으로 진행된다.

먼저 가장 기본적으로 전화기 두 대를 통해 전화가 성립되는 과정을 적어보려 한다.

나용이의 휴대폰 번호는 010-3127, 엄마의 휴대폰 번호는 010-3128 이라고 하자.

 

INVITE

나용이가 010-3128번을 누르고 통화버튼을 누르는 순간 나가는 것이 INVITE이다.

200 OK

벨이 울려 엄마가 수화기를 드는 순간  200 OK 응답이 나용이에게 전달된다.

이 때, From 헤더나 To 헤더는 INVITE에서 반대로 바뀌지 않는다는 특징을 가진다.
From과 To는 출발지/목적지를 나타내는 것이 아니라 호의 진행방향을 표시하기 때문이다.

ACK

200OK를 잘 받았다는 뜻으로 나용이가 엄마에게 ACK를 보내준다. 이 후에 세션이 연결되어 음성통화가 시작된다.

 

BYE

양 쪽 모두 수화기를 내려놓을 수 있지만, 엄마가 먼저 수화기를 내려놓았다고 가정할 때 엄마가 나용이에게 BYE를 보낸다.

200OK

나용이는 다시 엄마에게 BYE를 잘 받았다는 뜻으로 200OK를 보내게 된다.

'Network' 카테고리의 다른 글

Call 공부 (2) RFC 3261 및 관련 SIP 응답코드  (6) 2025.07.31