도움말 / 듀얼 번호 발신 마커

듀얼 번호로 걸면 왜 다른 번호로 나갈까

한 기기에서 두 번째 번호(듀얼·투넘버)로 전화를 걸었는데 상대방 화면에는 여전히 메인 번호가 뜬다면, 앱이 잘못 만들어진 것이 아니라 통신사가 요구하는 발신 마커가 빠진 것일 가능성이 큽니다.

하나의 스마트폰에서 통신사 부가서비스나 eSIM으로 두 번째 번호를 받아 쓰는 경우가 많습니다. 그런데 이 번호로 전화를 걸었을 때 실제로 어느 번호가 상대방에게 표시되는지는, 단순히 "어느 유심/회선으로 거는가"만으로 정해지지 않습니다. 안드로이드의 전화 시스템(Telecom)은 회선을 구분해 걸 수는 있지만, 상대방에게 "이건 두 번째 번호의 통화입니다"라고 알려주는 것은 별개의 문제이기 때문입니다.

원리 — 통신사가 정한 문자열을 번호에 붙여야 한다

국내 이동통신사의 듀얼(투넘버) 부가서비스는, 상대방 번호 앞이나 뒤에 통신사가 정한 특수 문자열을 붙여서 걸어야 그 통화가 두 번째 번호로 나갑니다. 이 문자열이 없으면 시스템은 그냥 평범한 전화로 취급해 메인 번호로 발신합니다. 즉 사용자가 앱에서 "두 번째 번호로 걸기"를 선택했더라도, 실제로 전화가 걸리는 순간에 이 문자열이 정확히 붙어 있지 않으면 상대방에게는 메인 번호가 그대로 찍힙니다 — 사용자는 두 번째 번호로 걸었다고 믿지만 실제로는 아닙니다.

통신사마다 마커가 다릅니다

이 문자열은 통신사마다 형태가 다르고, 붙는 위치(앞/뒤)도 다릅니다. 저희가 실제 발신 코드에서 확인한 값은 다음과 같습니다.

통신사마커 형태예시(번호 앞/뒤에 결합)
SKT접두(앞) *281*281010XXXXXXXX
KT접두(앞) *77*77010XXXXXXXX
LG유플러스 / 기타접미(뒤) #010XXXXXXXX#

어느 회선이 어느 통신사인지는 유심의 MCC+MNC 코드(예: KT 계열 450 02/04/08, SKT 계열 450 05/11)로 자동 판별하고, 코드로 판별되지 않는 알뜰폰(MVNO) 회선은 통신사 이름 문자열("SK", "KT", "olleh" 포함 여부)로 보조 판별합니다.

문자(SMS/MMS) 수신 쪽에도 통신사별 표시가 있습니다. 상대방이 내 두 번째 번호로 문자를 보내면, 본문 앞이나 뒤에 SKT는 [M1], KT는 [듀], LG유플러스는 듀> 같은 마커가 붙어서 옵니다. 이건 발신 마커와는 별개로, 받는 쪽에서 "이 메시지가 어느 번호로 온 것인지" 구분하기 위한 표시입니다.

실제 겪은 함정 — 접미 마커를 접두처럼 잘못 쓰면 통화·MMS가 깨진다

가장 까다로운 부분은 SKT의 접두 마커 뒤에 트레일링 #을 붙이면 안 된다는 점입니다. *281...# 같은 형태로 번호를 만들면, 안드로이드 텔레포니 프레임워크가 이 문자열을 일반 전화번호가 아니라 MMI/USSD 코드(설정 메뉴를 여는 *#06# 같은 특수 코드)로 오인식합니다. 그 결과 통화는 연결되지 않고 "MMI 코드 오류"로 실패합니다. 게다가 같은 형태의 주소는 MMS 발신 라우팅에도 영향을 줘서 MMS(사진 문자)가 미배달되는 문제까지 만들었습니다. 신기하게도 일반 SMS만은 우연히 정상 동작했는데, SMS 발신 경로는 이 문자열을 단순 텍스트로 취급했기 때문입니다.

즉 같은 마커라도 통화·MMS·SMS 각각의 처리 경로가 달라서, "SMS는 되는데 전화나 사진 전송만 안 된다"는 증상이 나오면 마커 형식(특히 접두/접미, 트레일링 # 유무)부터 의심해야 합니다.

마커는 누가 붙이는가 — 기본 전화 앱 여부에 따라 달라진다

번호에 마커를 붙이는 주체도 상황에 따라 다릅니다. 앱이 기본 전화 앱 역할을 갖고 있던 시절에는 마커가 붙은 번호를 그대로 시스템에 넘겨 걸 수 있었습니다. 그런데 기본 전화 앱 역할이 없는 상태에서 *77, *281 처럼 MMI 코드 형태로 시작하는 번호를 걸려고 하면, 안드로이드는 이를 서드파티 앱이 임의로 걸 수 없는 코드로 취급해 제조사 다이얼러 화면에 번호만 채워 넣고 멈춰 버립니다 — 사용자가 다이얼러에서 통화 버튼을 한 번 더 눌러야 합니다.

이 제약을 피하는 방법은 통화 리디렉션(Call Redirection) 역할을 갖는 것입니다. 이 역할이 있으면 앱은 평범한 번호로 통화를 걸도록 요청만 하고, 실제 마커를 붙이는 작업은 시스템(Telecom) 내부에서 리디렉션 서비스가 대신 처리합니다. 이 경로는 MMI 제한을 받지 않기 때문에 사용자가 추가로 버튼을 누르지 않아도 됩니다. 리디렉션 역할이 없는 경우에는 마커를 직접 붙여서 걸 수밖에 없는데, 이때는 마커 없이 조용히 메인 번호로 나가는 것보다는 — 비록 한 번 더 눌러야 하더라도 — 다이얼러에서 멈추는 편이 낫다는 판단으로 설계돼 있습니다. 마커 없이 조용히 메인 번호로 나가면 사용자는 실패한 줄도 모르고, 상대방에게는 의도치 않은 번호가 찍히기 때문입니다.

uSIM 듀얼과 eSIM 듀얼의 차이

듀얼 번호는 물리 유심(uSIM)에 물린 회선일 수도 있고, eSIM에 물린 회선일 수도 있습니다. 마커 규칙 자체는 두 경우 모두 동일합니다 — 어느 통신사인지가 마커를 결정하지, 유심이 물리적인지 내장형(eSIM)인지는 마커 형태에 영향을 주지 않습니다. 다만 시스템 내부적으로는 물리 유심의 메인/듀얼 회선과 eSIM의 메인/듀얼 회선을 별도로 구분해서 관리합니다. 한 기기에 물리 유심과 eSIM이 동시에 꽂혀 있고 각각에 듀얼 번호 부가서비스를 걸어 두면, 이론적으로는 최대 4개 회선(물리 메인·물리 듀얼·eSIM 메인·eSIM 듀얼)까지 구분해서 쓸 수 있는 구조입니다. 어떤 조합이든 실제 발신 시에는 그 회선이 어느 통신사에 물려 있는지를 확인해 알맞은 마커를 붙이는 방식은 동일합니다.

정리