본문 바로가기
Mobile App/Android

[안드로이드] networkOperatorName 3사 알뜰폰(MVNO)은 어떤 값이 들어올까?

by Jman 2024. 4. 3.

IOS 와는 달리 AOS 즉, 안드로이드는 SIM 정보를 읽어올 수 있다.

https://developer.android.com/reference/android/telephony/TelephonyManager

 

TelephonyManager  |  Android Developers

 

developer.android.com

 

위 링크에 있는 TelephonyManager 객체를 이용하여 SIM 정보를 가져올 수 있고, 다양한 정보를 확인할 수 있다.

그 중에 망사업자 정보에 대해서 이야기를 하고싶었다.

 

이번 개발 과제는 통신사를 뽑아서 전달을 해야했다. 일단 3사 망 사업자 데이터는 어떻게 들어올까?

 

3사(MNO) 망사업자 추출 값

SKT > SKTelecom

KT > KT

LG > LG U+

 

networkOperatorName 함수를 이용하여 '망사업자 정보'를 추출하면 위와 같이 정보가 나온다.

다른 블로그를 참고해보면, KTolleh 라는 값을 추출됐던 적이 있던 거 같아. olleh case 도 넣어두면 좋을 거 같다.

 

사실 각 통신사 별로 다 가지고 있어서 테스트를 해서 추출한 값인데

알뜰폰은 없었다....

알뜰폰은 어떤 값들이 나오지?

 

일단, KT 알뜰폰(MVNO) 만 값을 뽑아 봤을 때, 동일한 KT 값이 나왔다.

다른 두 통신사 MVNO 를 테스트 해보진 않았지만, 유추하는 건 동일할 것이라고 본다.

 

결국 알뜰폰(MVNO) 는 3사 통신사(MNO) 망을 대여해서 사용하기 때문에 SIM 정보가 동일하지 않을까 라는 합리적 의심이다.

 

결국, networkOperatorName 함수를 가지고 총 6가지 (3사 통신사, 3사 알뜰폰 통신사) 통신사를 구분 지을 수 있게 값 추출이 안됐다.

그래서 다른 방법을 찾아봤지만, 그건 신뢰를 할 수 없지만 내용 공유를 하겠다.

https://source.android.com/docs/core/connect/carrierid?hl=ko

 

이동통신사 ID  |  Android 오픈소스 프로젝트  |  Android Open Source Project

이동통신사 ID 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 9를 실행하는 기기는 ID 및 이동통신사 이름을 제공할 수 있도록 가입된 이동통신사 정보

source.android.com

 

위 링크를 확인해보면,

MVNO, MNO 를 MCC 와 MNC 및 MVNO 정보를 특정 이동통신사에 매핑을하여, 구성된 파일을 가지고 통신사 정보를 확인하는 방법이다.

그런데 이 정보는 지속적으로 추가되는 통신사가 생기면 파일관리가 필요하며, 신뢰할 수 있는 정보라고 확신할 수 없기에 좋은 방법은 아니다 라는 판단을 내렸다.

따라서 아직 MVNO와 MNO 구분이 어려워 어떤 방식으로 해야할 지 고민해봐야 할 거 같다.

방법이 있다면, 댓글을 달아주었으면 한다. 

 

추가로, 아래 링크를 확인하면, MCC + MNC 를 가지고 통신사 3사를 구분할 수 있으니 확인해보면 좋을 것이다.

https://shga.kr/archives/158

 

LTE 망에서 사용되는 ID 체계(PLMN = MCC + MNC) – 가석현

 

shga.kr

 

정리하자면, 

3사 알뜰폰(MVNO)도 위에서 적어놓은 정보와 동일하게 값이 추출할 것으로 판단된다. (KT 는 동일하다.)