Introduction to Android Telephony

 What is Telephony?

The telephony system is a software framework to provide mobile phones with telephony functionalities, such as voice call, Video call, SMS,MMS ,data service, network management and so on.

Architecture:Telephony framework for Android has four layered Architecture.

  1. Communication processor(Wireless module drivers in Linux kernel)
  2. RIL(Radio Interface Layer)
  3. Android Telephony Services
  4. High level telephony applications

Telephony Applications:

Dialer
Contacts
Messaging — SMS/MMS(BasicSmsReceiver)
Settings app — a) Airplane mode b) APN settings C)Network selection (auto/manual) d) Call settings, such as, call waiting, call forwarding/diverting e) CLIR f)FDN
SIM Application Toolkit (SAT)
Browser
CellBroadcastReceiver
CarrierConfig
PhoneCommon



We can see the source code for these apps in http://androidxref.com/9.0.0_r3/xref/packages/apps/

as per Android P. The responsibility of the framework is to expose API’s for the upper mentioned telephony applications and communicate with below layers.

Telephony framework consists of components like Service State Tracker (SST),SIM IO subsystem,GsmCdmaCallTracker,Data Connection Tracker (DCT),SIM toolkit,Support for MMI codes.It also provides us certain services like Voice services ( MO, MT , Call forwarding, call hold, 3-way call, Call supplementary ),SMS , MMS, voice mail,Network Acess Services (NAS-Voice, data and bearer registration ),SIM Services ,Device Management Services(DMS),Phone book Manager(PBM — Managing Contacts).

Additionally IMS service has also been added.

There are two catagories of packages in telephony framework-

  • Internal telephony packages:

Used for default telephony app-Phone.apk

/frameworks/base/telephony/java/com/android/internal/telephony/

  • Open technology packages:

Used by 3rd party apps.

/frameworks/base/telephony/java/android/telephony/

  • Also we have The Android Telecom framework is responsible for managing calls on an Android device.

Notes:

Classes in Android telephony can be seen at https://developer.android.com/reference/android/telephony/package-summary

Classes in Android telecom can be seen at https://developer.android.com/reference/android/telecom/package-summary

Popular posts from this blog

Simple Sign up design. Android.

Cart page design in android.

Set Date on jDateChooser and retrieve record from database.