Visuelle Mailbox

Android 6.0 (Marshmallow) führte eine Implementierung der Unterstützung für visuelle Sprachnachrichten (Visual Voicemail, VVM) ein, die in den Telefonbereich integriert ist. So können kompatible VVM-Dienste von Mobilfunkanbietern mit minimaler Konfiguration in den Telefonbereich eingebunden werden. Mit der visuellen Mailbox können Nutzer ihre Nachrichten ganz einfach abrufen, ohne telefonieren zu müssen. Nutzer können sich eine Liste der Nachrichten in einer ähnlichen Oberfläche wie einem Posteingang ansehen, sie in beliebiger Reihenfolge anhören und nach Bedarf löschen.

Mit Android 7.0 wurden der visuellen Sprachbox die folgenden Konfigurationsparameter hinzugefügt:

  • Vorab-Abruf von Mailboxnachrichten wird von KEY_VVM_PREFETCH_BOOLEAN gesteuert
  • Ob eine mobile Datenverbindung erforderlich ist, wird durch KEY_VVM_CELLULAR_DATA_REQUIRED_BOOLEAN gesteuert.
  • Abrufen von Mailboxtranskripten
  • Mailboxkontingent abrufen

Auf dieser Seite erhalten Sie einen Überblick über die bereitgestellten Funktionen, wie Mobilfunkanbieter sie einbinden können und einige Details zur Implementierung.

Visual Voicemail-Client (VVM)

Android 6.0 und höher enthält einen OMTP-VVM-Client, der sich bei korrekter Konfiguration mit den VVM-Servern des Mobilfunkanbieters verbindet und VVM-Nachrichten im AOSP-Dialer (Android Open Source Project) einfügt. Der VVM-Client:

  • Verwaltet die SMS-Nachrichten, mit denen der Dienst aktiviert/deaktiviert oder der Status abgefragt wird, sowie die SMS-Nachrichten, mit denen das Gerät über Ereignisse im Postfach des Abonnenten benachrichtigt wird.
  • Synchronisiert das Postfach mit dem IMAP-Server
  • Die Sprachnachrichten werden heruntergeladen, wenn der Nutzer sie sich anhören möchte.
  • Transkripte von Mailboxnachrichten abrufen
  • Details zum Voicemail-Kontingent abrufen (Gesamtgröße des Postfachs und belegte Größe)
  • Wird in den Telefonbereich eingebunden, um Nutzerfunktionen wie Rückrufe, das Ansehen ungelesener Nachrichten und das Löschen von Nachrichten zu ermöglichen.

Integration mit dem VVM-Client

Implementierung

Der Mobilfunkanbieter muss einen Server für visuelle Sprachnachrichten bereitstellen, der die OMTP-Spezifikationen für visuelle Sprachnachrichten implementiert. Die aktuelle Implementierung des AOSP-VVM-Clients unterstützt die Hauptfunktionen (Anrufbeantwortungen lesen/löschen, herunterladen/synchronisieren/anhören). Die zusätzlichen Funktionen der Benutzeroberfläche (Passwort ändern, Anrufbeantwortung, Sprachen) sind jedoch nicht implementiert. Derzeit unterstützen wir nur OMTP-Version 1.1 und verwenden keine Verschlüsselung für die IMAP-Authentifizierung.

Für die Unterstützung von Transkripten müssen Mobilfunkanbieter das in der OMTP 1.3-Spezifikation (Punkt 2.1.3) angegebene Format für Transkriptanhänge (MIME-Typ „plain/text“) unterstützen.

Hinweis:Serverseitig vom Gerät gesendete SMS (z.B. STATUS oder SYNC) müssen Daten-SMS sein.

Konfiguration

Damit ein Mobilfunkanbieter den VVM-Dienst nutzen kann, muss er der Plattform Konfigurationsdetails zur Verfügung stellen, die der OMTP-Client verwenden kann. Diese Parameter sind:

  • Zielnummer und Portnummer für SMS
  • Der Paketname der vom Mobilfunkanbieter bereitgestellten visuellen Mailbox-App (falls vorhanden), damit die Plattformimplementierung deaktiviert werden kann, wenn dieses Paket installiert ist

Diese Werte werden über die Carrier Config API bereitgestellt. Mit dieser Funktion, die in Android 6.0 eingeführt wurde, kann eine App den verschiedenen Plattformkomponenten, die sie benötigen, dynamisch eine telefoniebezogene Konfiguration bereitstellen. Insbesondere müssen für die folgenden Schlüssel Werte definiert sein:

  • KEY_VVM_DESTINATION_NUMBER_STRING
  • KEY_VVM_PORT_NUMBER_INT
  • KEY_VVM_TYPE_STRING
  • KEY_CARRIER_VVM_PACKAGE_NAME_STRING
  • KEY_VVM_PREFETCH_BOOLEAN
  • KEY_VVM_CELLULAR_DATA_REQUIRED_BOOLEAN

Weitere Informationen finden Sie unter Mobilfunkanbieterkonfiguration.

Implementierung

Der OMTP-VVM-Client ist in packages/services/Telephony implementiert, insbesondere in src/com/android/phone/vvm/.

Einrichten

  1. Der VVM-Client wartet auf TelephonyIntents#ACTION_SIM_STATE_CHANGED oder CarrierConfigManager#ACTION_CARRIER_CONFIG_CHANGED.
  2. Wenn eine SIM-Karte mit den richtigen Werten für die Mobilfunkanbieterkonfiguration hinzugefügt wird (KEY_VVM_TYPE_STRING auf TelephonyManager.VVM_TYPE_OMTP oder TelephonyManager.VVM_TYPE_CVVM festgelegt), sendet der VVM-Client eine ACTIVATE-SMS an den in KEY_VVM_DESTINATION_NUMBER_STRING angegebenen Wert.
  3. Der Server aktiviert den visuellen Anrufbeantworterdienst und sendet die OMTP-Anmeldedaten über STATUS SMA. Wenn der VVM-Client die STATUS-SMS erhält, registriert er die Voicemail-Quelle und zeigt den Tab „Voicemail“ auf dem Gerät an.
  4. Die OMTP-Anmeldedaten werden lokal gespeichert und das Gerät beginnt mit einer vollständigen Synchronisierung, wie unten beschrieben.

Wird synchronisiert

Es gibt verschiedene Möglichkeiten, wie der VVM-Client mit dem Server des Mobilfunkanbieters synchronisiert werden kann und umgekehrt.

  • Vollständige Synchronisierungen erfolgen beim ersten Download. Der VVM-Client ruft Metadaten für Sprachnachrichten ab, z. B. Datum und Uhrzeit, Absendernummer, Dauer, Transkriptionen von Sprachnachrichten (falls verfügbar) und Audiodaten, wenn KEY_VVM_PREFETCH_BOOLEAN auf „True“ gesetzt ist. Vollständige Synchronisierungen können durch Folgendes ausgelöst werden:
    • Neue SIM-Karte einlegen
    • Gerät neu starten
    • Wieder verfügbar
    • VoicemailContract.ACTION_SYNC_VOICEMAIL-Broadcast empfangen
  • Die Uploadsynchronisierung erfolgt, wenn ein Nutzer mit einer Sprachnachricht interagiert, um sie abzuspielen oder zu löschen. Bei Uploadsynchronisierungen ändert der Server seine Daten, damit sie mit den Daten auf dem Gerät übereinstimmen. Wenn der Nutzer beispielsweise eine Sprachnachricht abspielt, wird sie auf dem Server als gelesen markiert. Wenn er eine Sprachnachricht löscht, wird sie auf dem Server gelöscht.
  • Die Downloadsynchronisierung erfolgt, wenn der VVM-Client eine SYNC-SMS vom Typ „Mailbox Update“ (MBU) vom Mobilfunkanbieter erhält. Eine SYNC-Nachricht enthält die Metadaten für eine neue Nachricht, damit sie beim Voicemail-Inhaltsanbieter gespeichert werden kann.

Hinweis:Die Werte für das Nachrichtenlimit im Voicemail-Posteingang werden bei jeder Synchronisierung abgerufen.

Mailboxnachrichten herunterladen

Wenn ein Nutzer auf „Wiedergabe“ drückt, um sich eine Sprachnachricht anzuhören, wird die entsprechende Audiodatei heruntergeladen. Wenn sich der Nutzer die Sprachnachricht anhören möchte, kann der Dialer VoicemailContract.ACTION_FETCH_VOICEMAIL senden, die vom Voicemail-Client empfangen wird, den Download der Inhalte initiieren und den Eintrag beim Anbieter der Voicemail-Inhalte der Plattform aktualisieren.

VVM deaktivieren

Der VVM-Dienst kann durch Nutzerinteraktion, Entfernen einer gültigen SIM-Karte oder durch Ersetzen durch eine VVM-App des Mobilfunkanbieters deaktiviert werden. Deaktiviert bedeutet, dass auf dem lokalen Gerät keine visuelle Mailbox mehr angezeigt wird. Deaktiviert bedeutet, dass der Dienst für den Abonnenten deaktiviert ist. Der Dienst kann durch Nutzerinteraktionen deaktiviert werden. Wenn die SIM entfernt wird, wird der Dienst vorübergehend deaktiviert, da er nicht mehr vorhanden ist. Wenn der VVM-Dienst des Mobilfunkanbieters ersetzt wird, wird der AOSP-VVM-Client deaktiviert.

Nutzerinteraktion

Der Nutzer kann die visuelle Mailbox manuell aktivieren oder deaktivieren. Wenn ein Nutzer die visuelle Sprachnachricht deaktiviert, wird auch der Dienst deaktiviert. Wenn die visuelle Sprachbox deaktiviert wird, wird eine SMS mit dem Text DEACTIVATE gesendet, die Sprachboxquelle wird lokal abgemeldet und der Tab „Sprachbox“ verschwindet. Wenn der Kunde die visuelle Sprachbox wieder aktiviert, wird auch der Dienst reaktiviert.

SIM entfernen

Wenn sich der SIM-Status (ACTION_SIM_STATE_CHANGED) oder die Werte der Mobilfunkanbieterkonfiguration (ACTION_CARRIER_CONFIG_CHANGED) des Geräts ändern und keine gültige Konfiguration für die jeweilige SIM mehr vorhanden ist, wird die Voicemailquelle lokal abgemeldet und der Tab „Voicemail“ verschwindet. Wenn die SIM-Karte ersetzt wird, wird die visuelle Mailbox wieder aktiviert.

Ersetzt durch VVM des Mobilfunkanbieters

Eine App für die visuelle Mailbox eines Mobilfunkanbieters, die auf dem Gerät installiert ist, kann den AOSP-VVM-Client deaktivieren. Dazu wird geprüft, ob ein Paket mit einem Namen installiert ist, der mit dem KEY_CARRIER_VVM_PACKAGE_NAME_STRING-Parameter übereinstimmt.

Der VVM-Client kann weiterhin durch Nutzerinteraktion aktiviert werden.

Testen

Seit Android 4.0 gibt es eine Reihe von CTS-Tests für die VoicemailProvider APIs, mit denen eine App Sprachnachrichten in die Plattform einfügen, abfragen und löschen kann. Dies sind dieselben APIs, die VVM zum Hinzufügen/Löschen von Sprachnachrichten verwendet, damit sie in jeder Telefonanruf-App in der Benutzeroberfläche angezeigt werden können.

Wenn Sie testen möchten, ob Ihre Konfigurations-App die OMTP-Konfiguration richtig übergibt, können Sie Ihren Code mit folgenden Tools testen:

  • Eine SIM-Karte mit einer gültigen Zertifikatsignatur
  • Ein Gerät mit Android 6.0 und einer unveränderten Version des AOSP-Smartphone-Frameworks