Standards/OpenTelephonyAPI

From FreeSmartphoneWiki

Jump to: navigation, search

Contents

Purpose

The purpose of the phone interface is to provide common and language independent interface for applications, e.g. dialer application (dial, answer, hold, resume, hangup, dtfm), addressbook application (contact information, vcard), sms application (send, receive, manage) and audio apps (speaker level, etc.).

Requirements

  • All blocking method calls must be carefully designed: The interface is used mostly by graphical user interface applications which should not block user interaction. For example if dial is performed with a blocking method the user may not hang up the call while the modem is still connecting.
  • Suitable abstraction level: We must not blindly map GSM 07.07 calls to the dbus interface. We can and should design the method calls slightly more high level.

Namespaces / Subsystems

Global Prefix

Global prefix: org.freesmartphone.GSM

Rationales:

  • GSM is ubiquitous and not going away soon.
  • It's more concrete than a 'Phone' or 'Telephony' prefix. Usually, conceptual terms should be preferred over technical terms, however in the mobile phone space these terms are so ubiquitous and established that we don't want to make people learn new taxonomy just for our API.
  • Many subsystems are specific to GSM and are too unspecific if used without a prefix (i.e. Network).

Subsystem Prefixes & API Purpose

Note that these links are pointing to our generated docbook documentation. Please checkout our code repository for the actual DBus XML specification files.

Device

Access to mobile station information:

  • Identify version and supported functionality
  • IMEI and country code
  • Prepare for a suspend, recover from suspend

See org.freesmartphone.GSM.Device

SIM

Access to the SIM card:

  • IMSI
  • Subscriber Numbers
  • Authorization (PIN, PUK, Locking)
  • Phonebook handling
  • Messagebook handling
  • Configure the preferred SMS centre
  • Incoming Message on SIM notification
  • (planned) SIM card application toolkit handling

See org.freesmartphone.GSM.SIM

Network

Access to GSM networks:

  • Operator availability and registration
  • Connection status and signal strength
  • Call forwarding settings

See org.freesmartphone.GSM.Network

Call

Access to Voice Calls:

  • Place and receive single-party calls
  • Configure and send DTMF tones
  • Multiparty handling
  • Configure identity representation and restriction
  • Call forwarding and deflection

See org.freesmartphone.GSM.Call

SMS

Access to Short Message Service (SMS):

  • Send and receive a short messages directly (not via SIM)

See org.freesmartphone.GSM.SMS

CB

Access to Cell Broadcast Service (CBS):

  • Configure categories and languages
  • Recieve cell broadcast messages

See org.freesmartphone.GSM.CB

HZ

Access to Home Zone (HZ) functionality:

  • Get known home zones
  • Get current zone
  • Receive zone change messages

See org.freesmartphone.GSM.HZ

PDP

Access to Packet Data Protocol (PDP) connections:

  • Configure PDP contexts
  • Initiate/Release connection
  • Get/Set GPRS class

See org.freesmartphone.GSM.PDP

Personal tools