가이드2026년 6월 24일2026년 10월 10일 업데이트 8분 분량

가짜 전화 앱 작동 원리: CallKit부터 AI 음성까지

CallKit부터 AI 음성까지. 가짜 전화 앱이 iPhone과 Android에서 어떻게 진짜 수신 전화를 재현하는지, 그리고 기술 차이가 왜 중요한지 알기 쉽게 정리했어요.

B글쓴이 Baptiste Garcia

이 글의 목차

짧은 답

가짜 전화 앱은 전부 내 휴대폰 안에서 시뮬레이션된 수신 전화를 띄우는 방식으로 작동해요. 잘 만든 앱은 Apple의 CallKit 프레임워크로 진짜 iOS 통화 화면을 보여 줘요. 벨소리, 잠금 화면 알림, 최근 기록까지 그대로예요. 수준이 낮은 앱은 자체 알림이나 덧씌운 화면을 보여 줄 뿐이에요. 전화가 통신사 전화망을 전혀 거치지 않아서 추적할 것도 없어요. 요즘 앱은 AI 음성, 예약, Apple Watch 실행까지 더해 손 하나 까딱하지 않고 쓸 수 있어요.

TikTok에 올라온 탈출 영상이나 친구가 모임에서 빠져나가는 모습으로 가짜 전화 앱을 본 적이 있을 거예요. 그런데 실제로는 어떤 원리로 작동할까요? 답은 생각보다 흥미로워요. 알림으로 흉내만 내는 값싼 앱과 Apple의 기본 통화 프레임워크로 만든 앱 사이의 차이가 엄청나거든요. 그리고 그 차이가 맞은편에 앉은 사람이 속아 넘어가느냐, 단번에 알아채느냐를 가르게 돼요.

이 가이드에서는 실제 기술을 차근차근 살펴봐요. 휴대폰이 ‘울릴’ 때 무슨 일이 일어나는지, 왜 어떤 앱은 진짜 전화와 똑같고 어떤 앱은 티가 나는지, 그리고 AI 음성, 예약, 웨어러블 실행이 어떤 역할을 하는지요. 개념부터 잡고 싶다면 가짜 전화란 정확히 무엇인지 설명한 글부터 읽어 보세요.

가짜 전화 앱이 울릴 때 무슨 일이 일어날까요?

가장 기본적으로 가짜 전화 앱이 하는 일은 하나예요. 실제로 아무도 전화하지 않았는데, 휴대폰 운영체제에 수신 전화가 왔다고 알려 주는 거예요. iPhone에서는 Apple의 CallKit 프레임워크가 표준이에요. 앱이 CallKit의 reportNewIncomingCall 메서드를 호출하면 iOS는 이를 진짜 VoIP 전화로 처리해요. 그러면 시스템이 넘겨받아 기본 수신 전화 화면을 그려요. FaceTime, WhatsApp 같은 통화 앱에서 보던 바로 그 전체 화면이에요.

이건 덧씌운 화면이나 통화 화면 스크린샷이 아니에요. iOS가 직접 그리는 실제 시스템 통화 화면이에요. 그래서 작동도 똑같아요. 잠금 화면에서 울리고, 수화부 스피커나 스피커폰으로 소리가 나오고, 내가 설정한 발신자 이름과 사진이 뜨고, ‘받았다가’ 나중에 ‘끊으면’ 전화 앱의 최근 기록 탭에 통화가 남아요. iOS가 그리는 것 자체가 똑같으니 겉으로 보이는 차이도 전혀 없어요.

CallKit 앱과 알림 기반 앱: 왜 차이가 중요할까요?

모든 가짜 전화 앱이 CallKit을 쓰는 건 아니에요. 그리고 CallKit을 건너뛴 앱은 결과가 눈에 띄게 떨어져요. 두 방식을 비교해 볼게요.

CallKit 앱(진짜 같은 쪽)

  • iOS가 진짜 시스템 통화 화면을 그려요. 초록색·빨간색 받기/거절 버튼, 발신자 사진, 흐릿한 배경까지 그대로예요.
  • 전화가 잠금 화면에서 울려요. 그래서 휴대폰을 손에 들고 있지 않아도 작동해요. 진짜처럼 보이려면 이게 정말 중요해요. 휴대폰을 집어 들고, 앱을 열고, 그다음에 전화가 오는 사람은 없으니까요.
  • 최근 기록이 자동으로 남아요. 나중에 누가 최근 통화 목록을 힐끗 봐도 평범한 통화 기록처럼 보여요. 그 기록이 문제가 되지 않을지 궁금하다면 가짜 전화가 통화 기록에 남는지 다룬 글에서 자세히 알려 드려요.
  • 진짜 전화처럼 수화부 스피커로 소리가 나와서, 상대방 목소리가 진짜 통화처럼 자연스럽게 들려요.

알림 기반 앱이나 덧씌운 화면을 쓰는 앱

  • 앱이 자기 창 안에 흉내 낸 통화 화면을 직접 그려요. 얼핏 보면 그럴듯할 수 있지만, 앱이 열려 있고 화면 맨 앞에 있을 때만 그래요.
  • 잠금 화면에서 울리지 않아요. 휴대폰이 잠겨 있거나 화면이 꺼져 있으면 기껏해야 알림 배너가 떠요. 수신 전화와는 전혀 달라 보이고, 휴대폰을 5분만 써 본 사람이라도 알아채요.
  • 최근 기록이 남지 않아요. iOS 기본 통화 기록에 흔적이 없어서, 누가 우연히 보기라도 하면 티가 나요.
  • 소리가 수화부 스피커가 아니라 미디어 채널로 나오는 경우가 많아요. 즉 음량이 통화 음량이 아니라 미디어 음량으로 조절돼요. 사소해 보여도 소리가 나는 방식이 달라져요.

결론은 간단해요. iPhone에서 앱이 CallKit을 쓰지 않으면, 내가 앱 화면을 보고 있는 동안에만 속일 수 있어요. 휴대폰이 잠기거나 누군가 옆에서 화면을 슬쩍 보는 순간 끝이에요.

VoIP 시뮬레이션은 기기 안에서 어떻게 작동할까요?

‘VoIP’라는 말을 들으면 통화가 인터넷으로 오간다고 생각하기 쉽지만, 가짜 전화 앱에서는 어떤 대화도 전송되지 않아요. CallKit은 원래 WhatsApp이나 카카오톡처럼 인터넷으로 실제 VoIP 전화를 받는 앱을 위해 만들어졌어요. 가짜 전화 앱은 같은 API를 쓰되 반대편에 아무도 없을 뿐이에요. 집 밖으로는 나가지 않는 편지를 나 자신에게 부치는 셈이라고 생각하면 돼요.

일어나는 순서를 간단히 정리하면 이래요.

  1. 앱에서 전화를 예약해요. 연락처 이름, 사진, 벨소리, 지연 시간(예: ‘30초 후 울리기’)을 정해요.
  2. 타이머가 끝나요. 카운트다운이 0이 되면 앱이 CallKit에 내가 정한 정보로 새 수신 전화를 알려요.
  3. iOS가 넘겨받아요. 시스템이 통화 화면을 그리고, 스피커로 벨소리를 울리고, 진동을 줘요. 어떤 전화든 누구나 보는 그 화면이에요.
  4. 전화를 받아요. 밀어서 받거나 초록색 버튼을 누르면 앱이 소리를 재생할 수 있어요. 미리 녹음한 대본, AI로 만든 음성, 혹은 (내가 혼자 다 말하고 싶다면) 무음이요.
  5. 전화를 끊어요. 통화가 끝나고, 최근 기록이 남고, 일상으로 돌아가요. 어떤 번호로도 발신되지 않았고, 통신사도 관여하지 않았어요.

실제로 전화가 걸리지 않기 때문에 통신사에는 통화 기록이 없고, 스팸 필터나 발신자 정보 데이터베이스가 잡아낼 것도 없어요. 이게 가짜 전화와 발신번호 조작의 핵심 차이예요. 발신번호 조작은 완전히 다른 (그리고 불법인 경우가 많은) 기술이에요.

AI 음성과 오디오 재생

초기 가짜 전화 앱은 단순한 오디오 파일을 재생했어요. 평범한 목소리로 “여보세요?” 하는 몇 초짜리 녹음 정도였죠. 급할 땐 그럭저럭 통했지만, 사실상 융통성 없는 녹음과 대화하는 셈이었어요. 엉뚱한 타이밍에 말을 멈추거나 녹음과 안 맞는 말을 하면 연출이 흔들렸어요.

요즘 앱은 다른 방식을 써요. 텍스트 음성 변환(TTS) 엔진이나 아예 AI 음성 모델로 발신자 쪽 대화를 만들어요. 상대방의 대본을 직접 쓰거나 고르면, 앱이 자연스럽고 상황에 맞는 목소리로 합성해 줘요. 남성, 여성, 젊은 목소리, 나이 든 목소리, 특정 억양처럼 여러 음성 프로필을 고를 수 있는 앱도 있어요.

그렇게 만든 소리가 통화 중에 수화부 스피커로 나오고, 내가 자연스럽게 대답할 수 있도록 중간중간 멈춤이 들어가요. CallKit은 통화 오디오를 휴대폰의 통화 채널로 보내기 때문에, 목소리는 휴대폰 위쪽 수화부 스피커, 즉 진짜 발신자 목소리가 나오는 바로 그 자리에서 나와요. 옆에 있는 사람에게는 진짜 통화처럼 희미하게 웅얼거리는 목소리가 들려요.

상대방 쪽 대본을 직접 써 보고 싶다면 무료 통화 대본 생성기로 몇 초 만에 자연스러운 대화를 만들어 볼 수 있어요.

예약과 실행 방법

가짜 전화는 타이밍이 전부예요. 빠져나오고 싶은 상대 앞에서 휴대폰을 꺼내고, 앱을 열고, 버튼을 눌러야 한다면 바로 티가 나요. 그래서 예약은 가짜 전화 앱에서 가장 중요한 기능 중 하나예요.

가장 간단한 건 카운트다운 타이머예요. 5분 뒤로 맞추고 휴대폰을 넣어 두면 알아서 울려요. 더 발전된 앱은 날짜와 시간을 정하는 예약을 지원해요. 회의나 저녁 약속이 길어질 것 같다는 걸 미리 알고, 예를 들어 저녁 8시 15분에 탈출구를 마련해 두고 싶을 때 유용해요.

그리고 웨어러블 실행이 있어요. 예를 들어 Introscape는 Apple Watch에서 가짜 전화를 시작할 수 있어요. 손목을 살짝 탭하면 3초 뒤에 휴대폰이 울려요. 내가 휴대폰을 만지는 모습을 아무도 보지 못해요. 휴대폰을 꺼내는 것 자체가 수상해 보일 수 있는 자리에서 특히 유용해요.

iPhone에 대해 알아 둘 부분이 하나 있어요. iOS는 백그라운드에서 앱이 할 수 있는 일을 제한하기 때문에, 잘 만든 앱은 화면이 잠겨 있고 앱이 닫혀 있어도 제시간에 울리도록 미리 준비해 둬요. 휴대폰이 잠겨 있고 오프라인이면 30초 넘게 뒤로 예약한 전화는 덜 안정적이에요. 그럴 때는 짧은 카운트다운이나 (Apple Watch 탭 같은) 직접 실행이 믿을 수 있는 방법이에요.

잠금 화면 연동과 방해 금지 모드

진짜 수신 전화는 아주 특정한 방식으로 작동해요. 잠금 화면을 깨우고, 전체 화면으로 뜨고, 벨소리가 울려요(iPhone이 무음 모드라면 진동이 와요). CallKit을 쓰는 잘 만든 가짜 전화 앱은 이걸 모두 그대로 재현해요. 화면을 띄우는 건 앱이 아니라 iOS니까요.

시스템 차원에서 알아 두면 좋은 동작이 몇 가지 있어요.

  • 잠금 화면. CallKit 전화는 FaceTime이나 WhatsApp처럼 잠금 화면에서 울려요. 보거나 받기 위해 잠금을 풀 필요가 없어요. 좋은 앱과 나쁜 앱을 가르는 가장 큰 차이예요.
  • 방해 금지 모드·집중 모드. 방해 금지 모드나 집중 모드를 켜 두었다면 설정에 따라 iOS가 전화 알림을 막을 수 있어요. 진짜 VoIP 전화와 마찬가지로 가짜 전화도 내가 정한 규칙을 따라요. 전화가 오게 하고 싶다면 집중 모드 설정에서 허용돼 있는지 확인하세요.
  • 무음 모드. 무음 모드가 켜져 있으면 진짜 전화와 똑같이 진동만 하고 벨소리는 나지 않아요. 연출을 위해 벨소리가 들려야 한다면 미리 무음 모드를 꺼 두세요.

아무것도 다운로드하기 전에 전체 흐름이 어떻게 보이고 들리는지 확인해 보고 싶다면 브라우저에서 바로 해 보는 무료 가짜 전화 데모가 통화 과정을 재현해 줘서 타이밍과 화면을 미리 느껴 볼 수 있어요.

Android(갤럭시)는요?

Android에는 CallKit과 정확히 같은 기능이 없어서 상황이 더 다양해요. 가장 진짜 같은 Android 가짜 전화 앱은 Telecom 프레임워크(ConnectionService API)와 자체 오버레이를 함께 써서 휴대폰의 기본 통화 화면을 흉내 내요. 제조사마다(삼성 갤럭시, Google Pixel, OnePlus, 샤오미) 통화 화면 디자인이 달라서, 내 휴대폰에 맞출 수 있게 여러 ‘스킨’을 제공하는 앱도 있어요.

Android에는 다른 앱 위에 표시(오버레이 권한)라는 권한도 있어요. 이 권한을 쓰는 앱은 잠금 화면을 포함해 지금 실행 중인 어떤 화면 위에든 통화 화면을 띄울 수 있어요. 하지만 사용자가 이 권한을 허용하지 않았거나 제조사가 백그라운드 활동을 강하게 제한하면, 화면이 꺼져 있을 때 가짜 전화가 아예 뜨지 않을 수도 있어요.

기본 원리는 iPhone과 같아요. 앱이 시스템 통화 기능과 깊이 연동될수록 더 그럴듯해져요. Android는 생태계가 더 파편화돼 있어서 신경 써야 할 변수가 더 많을 뿐이에요.

개인정보와 안전, 무엇을 알아 두면 될까요?

가짜 전화는 전부 기기 안에서 일어나기 때문에, 생각보다 개인정보 걱정이 훨씬 적어요. 핵심만 정리하면 이래요.

  • 전화망을 거치지 않아요. 전화가 걸리지 않고, 어떤 번호로도 발신되지 않아요. 전화는 내 기기 안에만 존재하고, 전화 예약에 필요한 약간의 데이터는 가명 처리돼요.
  • 발신번호 조작이 아니에요. 발신번호 조작은 다른 사람의 휴대폰에 위조된 발신자 정보를 보내는 거예요. 가짜 전화는 반대예요. 내가 고른 이름으로 내 휴대폰을 울릴 뿐이에요. 다른 누구의 휴대폰에도 영향이 없어요.
  • 최근 기록은 기기 안에만 있어요. 전화를 끊은 뒤 남는 통화 기록은 내 기기에만 저장돼요. 통신사와 동기화되지 않고, 내 휴대폰을 직접 만질 수 없는 사람에게는 보이지 않아요.
  • 음성 데이터가 어디로 가는지 알아 두세요. AI 음성은 내가 입력한 대본으로 만들어져서 내 휴대폰에서 재생돼요. 믿을 만한 앱은 그 텍스트를 어떻게 다루는지 알려 줘요.

나중에 누군가 가짜 전화였다는 걸 알아챌 수 있는지 더 자세히 알고 싶다면, 사람들이 가짜 전화인 걸 눈치챌 수 있는지 다룬 글에서 화면과 행동 양쪽을 모두 살펴봤어요.

출처 및 참고 자료

  • Apple Developer: CallKit: 앱이 기본 수신 전화 화면을 띄우고, 시스템에 통화를 알리고, 휴대폰의 최근 기록과 연동할 수 있게 해 주는 프레임워크의 Apple 공식 문서예요(영문).
  • Apple Developer: reportNewIncomingCall: iOS에서 수신 전화 알림을 띄우는 CallKit 메서드로, 가짜 전화를 진짜와 똑같아 보이게 만드는 바로 그 API예요(영문).
  • Android Developer: ConnectionService: 시스템 통화 기능과 연동하기 위한 Android의 대응 기능으로, Android에서 가장 진짜 같은 가짜 전화 앱들이 써요(영문).

핵심 정리

  • CallKit 앱은 iOS가 직접 화면을 그리기 때문에 진짜 iOS 통화 화면이 떠요. 그래서 가짜 전화가 겉보기에 진짜와 똑같아요.
  • 알림 기반 앱은 CallKit을 건너뛰어서 앱이 열려 있을 때만 작동하고, 잠금 화면에서는 연출이 무너져요.
  • 전화 자체는 기기 안에서 일어나요. 전화망도 통신사도 거치지 않고, 추적할 것도 없어요.
  • AI 음성, 예약, Apple Watch 실행이 단순한 가짜 벨소리를 휴대폰에 손대지 않고도 쓰는 그럴듯한 탈출 전략으로 바꿔 줘요.
FAQ

자주 묻는 질문