Implementierung von Echtzeittext

Auf dieser Seite wird beschrieben, wie Sie Real-Time Text (RTT) in Android 9 implementieren. RTT ist eine Funktion für gehörlose oder schwerhörige Benutzer, die die Text Telephone (TTY)-Technologie ersetzt. Mit dieser Funktion können Geräte dieselbe Telefonnummer für Sprach- und RTT-Anrufe verwenden, gleichzeitig Text zeichenweise übertragen, während er eingegeben wird, 911-Kommunikation unterstützen und Rückwärtsfunktion mit TTY bereitstellen.

Bei einem RTT-Anruf haben sowohl der Anrufer als auch der Empfänger Hinweise darauf, dass sie sich in einem RTT-Anruf befinden. Wenn die Verbindung hergestellt ist, treten beide Seiten in den RTT-Anruf ein, bei dem die Texteingabe und die Tastatur aktiviert sind. Beim Tippen erscheint der Text und wird während der Eingabe Zeichen für Zeichen gesendet.

Beispiele und Quelle

Framework-Komponenten sind in AOSP unter Call.RttCall und Connection.RttTextStream verfügbar. IMS-/Modemkomponenten sind proprietär und sollten vom IMS-/Modemanbieter bereitgestellt werden. Eine Dialer-RTT-Referenzimplementierung ist ebenfalls verfügbar.

AOSP-Wählcode für RTT:

Implementierung

Um RTT zu implementieren, sollten Sie mit einem Modem-/SoC-Anbieter zusammenarbeiten, da ein Modem erforderlich ist, das RTT unterstützt. Sie können auf Android 9 aktualisieren oder eine Liste von Telefonie-Framework-Patches in Android 8.0 zurückportieren. In Android 8.0 AOSP hinzugefügte APIs funktionieren nicht.

Diese Funktion verwendet öffentliche APIs in AOSP in android.telecom und @SystemApis in android.telephony.ims . Die gesamte Benutzeroberfläche befindet sich in com.android.phone und dem AOSP-Dialer.

Um RTT zu implementieren, importieren Sie den AOSP-Code und stellen einen IMS-Stack bereit, der das IMS-seitige @SystemApis für RTT implementiert. Dafür braucht man:

  • RTT mit ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED) ein-/ausschalten
  • Zeigt den RTT-Status eines Anrufs mithilfe von ImsStreamMediaProfile#mRttMode an
  • Unterstützung für die folgenden Methoden in ImsCallSession :

    • sendRttMessage
    • sendRttModifyRequest
    • sendRttModifyResponse
  • Unterstützung für den Aufruf der folgenden Methoden in ImsCallSessionListener :

    • callSessionRttModifyRequestReceived
    • callSessionRttModifyResponseReceived
    • callSessionRttMessageReceived

Anpassung

Sie können diese Funktion mithilfe der Gerätekonfiguration config_support_rtt im Gerätekonfigurations-Overlay für packages/services/Telephony und des Netzbetreiber-Konfigurationsflags CarrierConfigManager.RTT_SUPPORTED_BOOL in den Netzbetreiber-Konfigurationsdateien aktivieren oder deaktivieren. Abhängig von der Konfiguration ist die Funktion entweder über die Eingabehilfen-Einstellungen verfügbar oder nicht. Verwenden Sie die Gerätekonfiguration, um die Standardeinstellungen zu ändern. Standardmäßig ist die Funktion auf Aus eingestellt.

Validierung

Um Ihre RTT-Implementierung zu validieren, führen Sie CTS-Tests und Dialer-RTT-Tests durch.

CTS-Test

Die CTS-Tests ( android.cts.telecom.RttOperationsTest ) decken den AOSP-Teil der Implementierung ab. Sie müssen Ihre eigenen Tests für den IMS-Stack-Teil der Implementierung bereitstellen.

Dialer-RTT-Test

Szenariobeschreibung UI-Mock
Wenn RTT auf dem Gerät deaktiviert ist, wird ein Dialog zu RTT angezeigt.

RTT-Banner

In den Dialer-Einstellungen ist unter Einstellungen > Barrierefreiheit ein Echtzeittextbildschirm verfügbar, der die Option zur Auswahl eines anderen RTT-Modus bietet.

RTT-Zugänglichkeit

Wenn RTT standardmäßig aktiviert ist:
  • Während der Anruf getätigt wird, wird die Standard-Benutzeroberfläche zum Wählen während eines Anrufs angezeigt.
  • Sobald der Anruf hergestellt ist, wird die RTT-Modus-Ansicht angezeigt. Wenn der empfangende Benutzer nicht standardmäßig in den RTT-Modus wechselt, wird während des Wartens auf eine Antwort ein Banner angezeigt, das darauf hinweist, dass der RTT-Modus angefordert wurde.

RTT-Benutzeroberfläche für Anrufe

Wenn RTT auf dem Gerät deaktiviert ist:
  • Auf dem Bildschirm für eingehende Anrufe werden Standard-Antwort-Puck und Standard-Anrufbezeichnungen angezeigt.

Benutzeroberfläche für RTT-Standardanrufe

Wenn RTT auf dem Gerät aktiviert ist und standardmäßig alle Anrufe als RTT beantwortet werden:
  • Der Bildschirm für eingehende Anrufe zeigt den RTT-Puck und die zugehörigen Anrufbezeichnungen an.
  • Wenn Sie den Anruf entgegennehmen, wird die RTT-Modusansicht mit aktivierter Tastatur geladen.

Ansicht im RTT-Modus

In der In-Call-Benutzeroberfläche für RTT stehen Optionen zur Verfügung, mit denen Benutzer den Status des Sprachanrufs steuern und allgemeine Hilfe zur Verwendung von RTT erhalten können:
  • Mikrofon ein- und ausschalten.
  • Lautsprecher ein- und ausschalten.
  • Verwenden Sie die Tastatur als Eingabe.
  • Fügen Sie einen weiteren Anruf hinzu.
  • Wechseln Sie von einem RTT-Anruf zu einem Sprachanruf.
  • Schalten Sie die Funktion „Halten“ ein und aus.

RTT-In-Call-UI-Optionen

Wenn Sie im Bildschirm „Anrufdetails“ auf den Link „Transkript anzeigen“ klicken, wird eine vollständige Konversationsansicht mit dem vollständigen Text der RTT-Sitzung angezeigt. Zeitstempel werden angezeigt. Über die Schaltfläche „Zurück“ kann der Benutzer zum Bildschirm „Anrufdetails“ zurückkehren.

RTT-Anrufdetails