IMS 서비스 자격

Android 12부터 Android에는 Voice-over-Wi-Fi(VoWiFi), VoLTE(Voice-over-LTE)를 포함한 서비스 활성화를 위한 자격 확인 단계를 정의하는 GSMA 사양인 TS.43 Service Entitlement Configuration 지원이 포함됩니다. , SMS over IP(SMSoIP), eSIM 컴패니언 장치(요청 장치와 연결됨)의 ODSA(On-Device Service Activation) 및 데이터 계획 정보.

이 사양을 지원하기 위해 Android는 서비스 제공자가 모바일 장치에 IP 멀티미디어 하위 시스템(IMS) 네트워크 서비스의 상태를 알릴 수 있는 IMS 서비스 자격 기능을 제공합니다. 이 자격 기능을 사용하면 사용자가 자격 증명을 수동으로 입력할 필요 없이 장치가 EAP-AKA 인증 을 사용하여 IMS 자격 상태에 대해 GSMA TS.43 사양에 정의된 캐리어 자격 서버를 쿼리할 수 있습니다.

IMS 인타이틀먼트 서버가 있는 캐리어는 서비스 프로비저닝을 위해 IMS 서비스 인타이틀먼트 기능을 사용할 수 있습니다. 이 기능을 채택하면 다음과 같은 이점이 있습니다.

  • 이 자격 기능은 여러 제품 및 OEM에서 사용할 수 있으므로 이동통신사의 테스트 및 인증 비용을 줄입니다.
  • 표준 Android 앱을 통해 기기 제조업체의 개발 오버헤드를 줄입니다.
  • 기능이 오픈 소스이므로 기기 제조업체 및 이동통신사에서 기능에 대한 코드를 제공할 수 있습니다.
  • 북미 통신사에 긴급 주소 관리를 제공합니다.

건축물

다음 그림은 IMS 서비스 자격 기능의 아키텍처와 동작을 설명합니다.

TS.43 자격 기능

그림 1. TS.43 자격 기능 아키텍처

그림 1에 표시된 것처럼 IMS 서비스 자격 기능의 아키텍처에는 다음 구성 요소가 포함됩니다.

  • service_entitlement TS.43 서비스 API 정적 라이브러리 : 이 라이브러리는 TS.43 사양을 구현하고, 캐리어의 자격 서버와 상호 작용하고, 각 TS.43 사용 사례에 대한 앱 대면 API를 노출합니다.
  • ImsServiceEntitlement 클라이언트 앱: 이 앱은 TS.43 서비스 API를 사용합니다. 앱은 사용자가 서비스를 활성화하고 다른 Android 구성 요소와 상호 작용하여 종단 간 사용자 경험을 관리할 수 있도록 이동통신사의 서비스 포털을 렌더링하기 위한 webview를 포함한 UI 요소를 구현합니다.

    이동통신사의 TS.43 기반 자격 부여 서버와 작동하도록 Android를 구성하는 방법에 대한 자세한 내용은 ImsServiceEntitlement 앱 을 참조하세요.

그림 1에서 번호가 매겨진 줄은 IMS 서비스 자격 기능의 구성 요소가 서로 통신하는 방법을 보여줍니다. 다음은 레이블이 지정된 각 단계에 대해 설명합니다.

(1) 클라이언트 앱은 TS.43 서비스 API를 호출하여 서비스 자격 요청을 시작합니다.

(2) TS.43 서비스 API는 EAP-AKA 챌린지를 시작하기 위해 캐리어의 자격 서버에 HTTP 요청을 보냅니다.

(3) TS.43 서비스 API는 전화 API(예: getIccAuthentication )를 호출하여 EAP-AKA 챌린지-응답을 완료합니다.

(4) TS.43 서비스는 EAP-AKA 응답이 검증된 후 캐리어의 자격 서버로부터 서비스 자격 또는 구성 데이터를 수신합니다.

(5) TS.43 서비스는 서비스 자격 또는 구성 데이터를 클라이언트 앱에 반환합니다.

(6) 클라이언트 앱은 데이터를 처리하고 선택적으로 사용자가 서비스 활성화를 완료할 수 있도록 이동통신사의 서비스 포털을 렌더링합니다.

완성

이 섹션에서는 service_entitlement 라이브러리와 ImsServiceEntitlement 앱을 통합하는 프로세스를 설명합니다.

Android 12 API 종속성이 없기 때문에 service_entitlement 라이브러리 및 ImsServiceEntitlement 앱을 이전 Android 플랫폼으로 백포트할 수 있습니다.

service_entitlement 라이브러리

service_entitlement 라이브러리는 ImsServiceEntitlement app 에 정적으로 연결되어 있으므로 라이브러리를 ImsServiceEntitlement 앱에 통합하는 데 추가 단계가 필요하지 않습니다.

service_entitlement 라이브러리는 데이터 계획 및 ODSA와 같은 TS.43 사용 사례에 대한 자체 앱과 통합될 수 있습니다. 라이브러리는 EAP-AKA 프로토콜을 기반으로 하는 비 TS.43 자격 사용 사례를 위한 앱에 통합될 수도 있습니다.

다음은 이러한 사용 사례에 사용할 API에 대해 설명합니다.

  • 라이브러리에 구현된 TS.43 HTTP 프로토콜을 사용하는 TS.43 앱: ServiceEntitlement 클래스의 API 사용
  • 라이브러리에 구현된 EAP-AKA 프로토콜을 사용하는 비 TS.43 앱: EapAkaHelper 클래스에 노출된 API 사용

ImsServiceEntitlement 앱

기본적으로 Android에는 제품 파티션에 설치된 ImsServiceEntitlement 앱이 권한 있는 앱으로 포함됩니다. 앱을 구성하려면 다음 CarrierConfig 키를 사용하세요.

열쇠
KEY_ENTITLEMENT_SERVER_URL_STRING 이동통신사의 자격 서버 URL입니다. https:// 접두사를 포함해야 합니다.
KEY_FCM_SENDER_ID_STRING 이동통신사의 FCM 발신자 ID입니다.

이동통신사에서 FCM을 요구하지 않는 경우 이 값을 설정하지 마십시오.
KEY_SHOW_VOWIFI_WEBVIEW_BOOL 사용자가 VoWiFi 서비스에 가입하기 위해 이동통신사에서 웹 포털 UI를 요구하는 경우 true 로 설정합니다. 예를 들어, 이용 약관에 동의하거나 긴급 주소를 입력합니다.

이는 일반적으로 북미 지역의 이동통신사에서 요구합니다.
KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING
KEY_SHOW_VOWIFI_WEBVIEW_BOOLtrue com.android.imsserviceentitlement/.WfcActivationActivity 로 설정합니다.
KEY_IMS_PROVISIONING_BOOL 이동통신사가 백그라운드에서 IMS(VoLTE/VoWiFi/SMSoIP) 서비스의 네트워크 프로비저닝을 요구하는 경우 true 로 설정합니다.

이는 특정 유럽 이동통신사에서 요구하는 사항입니다.
KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL KEY_IMS_PROVISIONING_BOOLtrue true true 로 설정하십시오.

이동통신사의 자격 서버 및 웹 포털에 대한 HTTP 트래픽은 기본 네트워크(예: 기본 모바일 데이터 또는 Wi-Fi)를 통해 이동합니다.

GMS 파트너: 다음 이동통신사는 TS.43 v5.0 사양에 따라 Android 12의 TS.43 자격 앱에서 지원됩니다.

  • 미국: CSpire, US Cellular, Cellcom
  • 프랑스: 오렌지

IMS 프로비저닝을 위한 추가 시스템 UI

이 섹션에서는 OEM이 IMS 서비스 프로비저닝과 관련된 추가 시스템 UI 요소를 어떻게 지원할 수 있는지 설명합니다(예: VoWiFi가 프로비저닝될 때 알림을 표시할 때).

ImsServiceEntitlement 앱은 ProvisioningManager.setProvisioningIntValue(KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE, value) 시스템 API를 사용하여 VoWiFi 프로비저닝 상태를 플랫폼으로 설정합니다. 이 API는 VoLTE( KEY_VOLTE_PROVISIONING_STATUS ) 및 SMSoIP( KEY_SMS_OVER_IP_ENABLED 포함)에도 사용됩니다.

그런 다음 시스템 UI는 getProvisioningIntValue 를 사용하거나 registerProvisioningChangedCallback 을 통해 프로비저닝 상태 변경을 모니터링하는 콜백을 등록하여 프로비저닝 상태를 읽을 수 있습니다.

테스트를 위한 구성 재정의

다음 절차를 사용하여 테스트 목적으로 ImsServiceEntitlement 앱 동작을 일시적으로 변경합니다. 이동통신사 구성을 재정의하는 방법에 대한 자세한 내용은 이동통신사 구성 재정의 를 참조하세요.

VoWiFi 가입 절차 건너뛰기

VoWiFi 등록 프로세스를 건너뛰고 VoWiFi를 직접 켤 수 있도록 하려면 이동통신사 구성 KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING 을 재정의하고 해당 값을 빈 문자열로 설정합니다.

IMS 프로비저닝 건너뛰기

IMS 프로비저닝을 건너뛰고 IMS 서비스를 사용 가능하게 만들고 사용자가 네트워크 프로비저닝 없이 해당 서비스를 켤 수 있도록 하려면 이동통신사 구성 KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL 을 재정의하고 해당 값을 false 로 설정합니다.

권한 부여 서버 URL 변경

자격 서버 URL을 변경하려면 이동통신사 구성 KEY_ENTITLEMENT_SERVER_URL_STRING 을 재정의하고 해당 값을 예상 URL 문자열로 설정합니다. https:// 접두사를 포함해야 합니다.

이동통신사 구성 재정의

Android 11부터 이동통신사 구성 재정의 명령이 기본 제공되며 루트 권한으로 사용할 수 있습니다.

다음 명령은 캐리어 구성 키 carrier_volte_provisioning_required_bool 을 재정의하고 해당 값을 false 로 설정하는 방법의 예입니다. 명령을 여러 번 실행하여 여러 구성을 재정의할 수 있습니다.

adb root
adb shell cmd phone cc set-value -p carrier_volte_provisioning_required_bool false

모든 재정의를 지우려면 다음 명령을 사용합니다.

adb shell cmd phone cc clear-values

자세한 정보를 얻으려면 다음 명령을 실행하십시오.

adb shell cmd phone cc