실시간 문자 메시지 구현

이 페이지에서는 Android 9에서 실시간 문자 메시지(RTT)를 구현하는 방법을 설명합니다. RTT는 청각장애인이나 난청 사용자를 위한 기능으로 텍스트 전화(TTY) 기술을 대체합니다. 이 기능을 사용하면 기기에서 음성 및 RTT 통화에 동일한 전화번호를 사용하고 텍스트를 문자 단위로 입력하는 동시에 전송하며 911 통신을 지원하고 TTY의 뒤로 기능을 제공할 수 있습니다.

RTT 통화에서는 발신자와 수신자에게 모두 RTT 통화라고 표시됩니다. 연결되면 양쪽이 텍스트 입력과 키보드가 활성화된 RTT 통화를 시작합니다. 입력할 때 텍스트는 문자 단위로 표시되고 입력한 대로 전송됩니다.

예시 및 소스

프레임워크 구성요소는 Call.RttCallConnection.RttTextStream의 AOSP에서 사용할 수 있습니다. IMS/모뎀 구성요소는 독점적이며 IMS/모뎀 공급업체가 제공해야 합니다. 다이얼러 RTT 참조 구현도 사용 가능합니다.

RTT용 AOSP 다이얼러 코드:

구현

RTT를 구현하려면 RTT를 지원하는 모뎀이 필요하므로 모뎀/SoC 제공업체와 협력해야 합니다. Android 9로 업그레이드하거나 텔레포니 프레임워크 패치 목록을 Android 8.0으로 백포트할 수 있습니다. Android 8.0 AOSP에 추가된 API는 작동하지 않습니다.

이 기능은 android.telecom에서 AOSP의 공개 API를 사용하고 android.telephony.ims에서 @SystemApis를 사용합니다. 모든 UI는 com.android.phone 및 AOSP 다이얼러 내에 있습니다.

RTT를 구현하려면 AOSP 코드를 가져와서 RTT용 IMS 측 @SystemApis를 구현하는 IMS 스택을 제공합니다. 이를 위해서는 다음이 필요합니다.

  • ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)를 통해 RTT 사용 설정 또는 사용 중지
  • ImsStreamMediaProfile#mRttMode를 통해 통화의 RTT 상태 표시
  • ImsCallSession에서 다음 메서드를 지원합니다.

    • sendRttMessage
    • sendRttModifyRequest
    • sendRttModifyResponse
  • ImsCallSessionListener에서 다음 메서드 호출을 지원합니다.

    • callSessionRttModifyRequestReceived
    • callSessionRttModifyResponseReceived
    • callSessionRttMessageReceived

맞춤설정

packages/services/Telephony의 기기 설정 오버레이에서 기기 설정 config_support_rtt 및 이동통신사 구성 파일에서 이동통신사 구성 플래그 CarrierConfigManager.RTT_SUPPORTED_BOOL을 사용하여 이 기능을 사용 설정 또는 사용 중지할 수 있습니다. 구성에 따라 이 기능은 접근성 설정을 통해 사용 가능 여부가 결정됩니다. 기기 설정을 사용하여 기본 설정을 변경합니다. 기본적으로 이 기능은 사용 안함으로 설정되어 있습니다.

유효성 검사

RTT 구현을 확인하려면 CTS 테스트를 실행하고 다이얼러 RTT 테스트를 실행합니다.

CTS 테스트

CTS 테스트(android.cts.telecom.RttOperationsTest)는 구현의 AOSP 부분을 다룹니다. 구현의 IMS 스택 부분에 자체 테스트를 제공해야 합니다.

다이얼러 RTT 테스트

시나리오 설명 UI 모형

RTT가 기기에서 사용 중지되면 RTT에 관한 배너가 표시됩니다. RTT에 관한 자세한 내용이 있는 Google 고객센터의 도움말 페이지로 안내하는 '자세히 알아보기' 옵션이 표시됩니다.

배너 통화가 표시됩니다.

RTT 배너

다이얼러 설정에서 '실시간 문자 메시지' 화면은 'RTT 모드'를 사용 설정하는 옵션을 제공하는 설정 > 접근성에서 사용할 수 있습니다. 설명 텍스트가 표시되어 모드를 설명합니다. '통화 중에 말하고 듣는 대신 SMS를 보내고 받습니다.'

RTT 접근성

RTT가 기본적으로 사용 설정된 경우
  • 전화를 거는 동안 표준 통화 중 전화 걸기 UI가 표시됩니다.
  • 통화가 연결되면 RTT 모드 뷰가 표시됩니다. 수신하는 사용자가 RTT 모드로 기본 설정되어 있지 않으면 응답을 기다리는 동안 RTT 모드를 요청했다는 배너가 표시됩니다.

RTT 통화 중 UI

RTT가 기기에서 사용 중지된 경우
  • 수신 전화 화면에 표준 응답 퍽 및 표준 통화 라벨이 표시됩니다.

RTT 표준 통화 UI

RTT가 기기에서 사용 설정되어 있고 모든 전화에 RTT로 응답하도록 기본 설정된 경우
  • 수신 전화 화면에 RTT 퍽 및 연결된 통화 라벨이 표시됩니다.
  • 전화를 받으면 키보드가 사용 설정된 RTT 모드 뷰가 로드됩니다.

RTT 모드 뷰

RTT용 통화 중 UI에는 사용자가 음성 통화 상태를 제어하고 RTT 사용에 관한 일반적인 도움을 받을 수 있는 옵션이 제공됩니다.
  • 마이크를 켜거나 끕니다.
  • 스피커를 켜거나 끕니다.
  • 가능한 경우 오디오를 외부 오디오 기기로 전송합니다.

RTT 통화 중 UI 옵션

'통화 세부정보' 화면에 RTT 대화 기록의 스니펫이 표시됩니다.
  • 본문 미리보기는 길이가 한 줄을 넘지 않습니다. RTT 세션에 대화 콘텐츠가 포함되지 않았다면 콘텐츠가 저장되지 않았다고 나타내는 알림이 표시됩니다.
  • 본문 미리보기에는 RTT 통화를 표시하는 RTT 아이콘이 포함되어 있습니다.
  • '모두 보기' 링크를 선택하면 RTT 세션의 전체 텍스트가 포함된 전체 대화 뷰가 표시됩니다. 타임스탬프가 표시됩니다. 사용자는 뒤로 버튼을 사용하여 통화 세부정보 화면으로 돌아갈 수 있습니다.

RTT 통화 세부정보