앱으로 전화가 걸리는 원리: SIP 통화 신호와 RTP·WebRTC 음성

앱 전화는 통화 신호(SIP)와 음성(RTP·WebRTC)이 따로 오갑니다. 등록부터 전화 도착, 받기, 끊기까지 순서를 그림으로 쉽게 풀어 설명합니다.

제로콜 팀2026년 10월 29일
기술
앱 전화가 걸리는 원리
제로콜

앱으로 거는 전화는 두 갈래의 데이터가 함께 움직여서 이루어집니다. 하나는 전화를 걸고, 울리고, 받고, 끊는 약속을 주고받는 통화 신호이고, 다른 하나는 실제 목소리를 실어 나르는 음성 데이터입니다. 통화 신호에는 SIP라는 표준을, 음성에는 RTP와 WebRTC 기술을 주로 씁니다. 이 글은 두 길이 어떻게 나뉘고 맞물리는지 설명합니다.

SIP란? 통화를 약속하는 신호

SIP(Session Initiation Protocol)는 우리말로 풀면 통화 시작 규약입니다. 전화번호로 누구에게 걸지, 지금 울리고 있는지, 받았는지, 끊었는지 같은 상태를 짧은 문장 형태의 메시지로 주고받습니다. 목소리는 들어 있지 않고, 통화를 열고 닫는 절차만 다룹니다.

제로콜 앱은 이 신호를 교환기와 주고받을 때 암호화된 웹소켓 연결(WSS)을 씁니다. 웹소켓은 앱과 서버 사이에 계속 열려 있는 대화 통로이고, 그 위에서 SIP 메시지가 오갑니다. 개인정보 처리방침에도 전송 구간 보호 조치로 SIP over TLS를 밝히고 있습니다.

제로콜 앱과 교환기 사이에 통화 신호(SIP)와 음성(RTP·WebRTC)이 서로 다른 두 길로 오가고, 교환기가 통신사 전화망으로 연결하는 구조도
통화 신호와 음성은 같은 교환기로 가지만 서로 다른 길로 흐릅니다.

RTP와 WebRTC: 목소리가 오가는 길

신호로 통화가 약속되면 그때부터 목소리가 흐릅니다. 목소리는 아주 짧은 간격으로 잘린 데이터 조각(패킷)이 되어 실시간으로 전송되는데, 이 전송 규칙이 RTP(Real-time Transport Protocol, 실시간 전송 규약)입니다. 암호화를 더한 형태는 SRTP라고 부릅니다.

WebRTC는 실시간 음성·영상 통신에 필요한 기능을 묶어 놓은 표준 기술입니다. 마이크 소리를 압축하고, 상대와 이어질 네트워크 경로를 찾고, 음성을 암호화해 보내는 일을 한 번에 처리합니다. 제로콜 Android 앱의 통화 기술 문서에는 음성 처리에 WebRTC를 쓰고, 암호화는 WebRTC 기본 방식인 DTLS-SRTP를 쓴다고 정리되어 있습니다.

신호와 음성을 나누는 이유는 성격이 다르기 때문입니다. 신호는 양이 적지만 하나라도 빠지면 안 되고, 음성은 양이 많지만 조금 늦게 온 조각은 버려도 되는 대신 빨리 와야 합니다. 서로 다른 요구를 하나의 길에 섞지 않고 따로 처리해야 둘 다 잘 다룰 수 있습니다.

전화를 받을 때 오가는 신호 순서

실제로 손님 전화를 받는 과정은 다음 순서로 진행됩니다. 앱은 평소에 교환기에 자신이 연결되어 있다고 등록해 두고, 등록은 만료되기 전에 주기적으로 갱신됩니다. 그래야 교환기가 전화를 어디로 보낼지 알 수 있습니다.

앱과 교환기 사이에서 등록(REGISTER), 전화 도착(INVITE), 울리는 중(180 Ringing), 받음(200 OK), 확인(ACK), 끊기(BYE) 순서로 SIP 신호가 오가는 순서도
전화를 받을 때 앱과 교환기가 주고받는 대표적인 SIP 신호입니다.
  • 등록(REGISTER): 앱이 교환기에 접속해 인증을 거치고 받을 준비가 되었다고 알립니다.
  • 전화 도착(INVITE): 교환기가 앱에 전화가 왔다고 알리며, 음성 연결 조건을 담은 제안(SDP)을 함께 보냅니다.
  • 울리는 중(180 Ringing): 앱이 휴대폰을 울리고 있다고 답합니다.
  • 받음(200 OK): 직원이 응답을 누르면 앱이 수락과 함께 자신의 음성 연결 조건을 보냅니다.
  • 확인(ACK): 교환기가 확인하면 그때부터 음성이 흐릅니다.
  • 끊기(BYE): 어느 쪽이든 종료하면 통화가 정리됩니다.

전화를 걸 때는 방향만 바뀝니다. 앱이 교환기에 INVITE를 보내고, 교환기가 통신사망으로 전화를 넘겨 상대가 울리면 그 상태가 다시 앱으로 전달됩니다. 이때 앱은 현재 그룹 정보를 함께 보내고, 서버는 그 정보로 상대 화면에 표시할 발신번호를 정합니다.

SDP: 음성을 어떻게 주고받을지 정하는 메모

INVITE와 200 OK 안에는 SDP라는 짧은 설명서가 들어 있습니다. 어떤 코덱(목소리 압축 방식)을 쓸지, 음성을 어느 주소로 보낼지가 적혀 있습니다. 한쪽이 제안하고 다른 쪽이 답하는 방식이라 제안·응답(offer/answer)이라고 부릅니다. 신호와 음성이 분리되어 있어도 이 메모 덕분에 두 길이 정확히 맞물립니다.

정리: 신호가 길을 열고, 음성이 그 길을 지나갑니다

앱 전화는 SIP 신호로 통화를 약속하고, WebRTC가 그 약속대로 음성을 암호화해 실시간으로 주고받는 구조입니다. 이 구조 덕분에 휴대폰 앱 하나로 070 번호의 전화를 걸고 받을 수 있습니다. 070 번호 개통은 zerocall.kr/070 에서 시작할 수 있습니다.

자주 묻는 질문

SIP와 RTP는 무엇이 다른가요?

SIP는 통화를 걸고, 울리고, 받고, 끊는 절차를 주고받는 신호 규약이고, RTP는 실제 목소리 데이터를 실시간으로 실어 나르는 전송 규약입니다. SIP가 길을 약속하면 RTP가 그 길로 음성을 보냅니다.

WebRTC는 무엇인가요?

WebRTC는 실시간 음성·영상 통신에 필요한 압축, 네트워크 경로 찾기, 암호화 기능을 묶은 표준 기술입니다. 제로콜 앱은 음성 통화에 WebRTC를 사용합니다.

앱 전화는 왜 미리 등록을 해 두나요?

교환기가 전화를 어느 기기로 보내야 할지 알려면 앱이 지금 연결되어 있다는 등록 정보가 필요합니다. 등록은 만료되기 전에 주기적으로 갱신됩니다.

이 글에 나온 기능AI 전화응대,
직접 들어보세요
매장 전화를 AI가 받는 모습과 요금을 한 페이지에서 볼 수 있어요.AI 전화응대 보기 →
AI 응대 중예시주차 되나요?건물 지하 주차장을 이용하실 수 있어요.
#SIP#RTP#WebRTC#인터넷전화#VoIP 원리#제로콜
공유하기
상담 인력을 두고 전화를 받고 있다면AI가 먼저 받아 반복 문의를 끝내면, 사람이 받을 전화가 줄어요. 기업 도입 안내에서 확인해 보세요.

다른 글도 읽어보세요

블로그 전체 보기 →