Home | History | Annotate | only in /frameworks/opt/net/ims
Up to higher level directory
NameDateSize
Android.mk05-Oct-2017900
CleanSpec.mk05-Oct-20172.1K
README.txt05-Oct-20174.7K
src/05-Oct-2017
tests/05-Oct-2017

README.txt

      1 This package provides access to IP Multimedia Subsystem (IMS) functionality,
      2 especially making and taking VoLTE calls using IMS.
      3 At the moment, this only supports VoLTE calls which is compliant to GSMA IR.92 specification.
      4 
      5 For the additional information, you can refer the below standard specifications.
      6     - GSMA IR.92 : features for voice and sms profile
      7     - GSMA IR.94 : video calling feature
      8     - 3GPP TS 24.229 : IMS call control (SIP and SDP)
      9     - 3GPP TS 26.114 : IMS media handling and interaction
     10     - 3GPP TS 26.111 : Codec for CS multimedia telephony service (H.324)
     11     - 3GPP TS 24.623 : XCAP over the Ut interface for manipulating supplementary services
     12       (XCAP : XML Configuration Access Protocol)
     13 
     14 To get started, you need to get an instance of the ImsManager by calling ImsManager#getInstance().
     15 
     16 With the ImsManager, you can initiate VoLTE calls with ImsManager#makeCall()
     17 and ImsManager#takeCall(). Both methods require a ImsCall#Listener that
     18 receives callbacks when the state of the call changes, such as
     19 when the call is ringing, established, or ended.
     20 
     21 ImsManager#makeCall() requires an ImsCallProfile objects, representing the call properties
     22 of the local device. ImsCallProfile can creates by ImsManager
     23 using the specified service and call type.
     24 ImsCallProfile is created by referring GSMA IR.92, GSMA IR.94, 3GPP TS 24.229,
     25 3GPP TS 26.114 and 3GPP TS 26.111.
     26 
     27 To receive calls, an IMS application MUST provide a BroadcastReceiver that
     28 has the ability to respond to an intent indicating that there is an incoming call.
     29 The default action for the incoming call intent is ImsManager#ACTION_IMS_INCOMING_CALL.
     30 And, the application frees to define the action for the incoming call intent.
     31 
     32 There are two packages for IMS APIs.
     33 
     34     - com.android.ims
     35         It provides the functionalities for the upper layer of IMS APIs.
     36         In this moment, it is used by the VoLTE Phone application.
     37 
     38     - com.android.ims.internal
     39         It provides the functionalities for the internal usage or lower layer of IMS APIs.
     40         It needs to be implemented by the IMS protocol solution vendor.
     41 
     42 
     43 
     44 == Classes for com.android.ims ==
     45 
     46 ImsManager
     47     Provides APIs for IMS services, such as initiating IMS calls, and provides access to
     48     the mobile operator's IMS network. This class is the starting point for any IMS actions.
     49 
     50 ImsCall
     51     Provides IMS voice / video calls over LTE network.
     52 
     53 ImsCallGroup
     54     Manages all IMS calls which are established hereafter the initial 1-to-1 call is established.
     55     It's for providing the dummy calls which are disconnected with the IMS network after
     56     merged or extended to the conference.
     57 
     58 ImsCallProfile
     59     Parcelable object to handle IMS call profile
     60     It provides the service and call type, the additional information related to the call.
     61 
     62 ImsConferenceState
     63     It provides the conference information (defined in RFC 4575) for IMS conference call.
     64 
     65 ImsConnectionStateListener
     66     It is a listener type for receiving notifications about changes to the IMS connection.
     67     It provides a state of IMS registration between UE and network, the service availability of
     68     the local device during IMS registered.
     69 
     70 ImsException
     71     It provides a general IMS-related exception.
     72 
     73 ImsReasonInfo
     74     It enables an application to get details on why a method call failed.
     75 
     76 ImsServiceClass
     77     It defines an identifier for each IMS service category.
     78 
     79 ImsStreamMediaProfile
     80     Parcelable object to handle IMS stream media profile.
     81     It provides the media direction, quality of audio and/or video.
     82 
     83 ImsUtInterface
     84     It provides APIs for the supplementary service settings using IMS (Ut interface, XCAP).
     85 
     86 
     87 
     88 == Classes for com.android.ims.internal ==
     89 
     90 CallGroup
     91     Wrapper class which has an ICallGroup interface.
     92 
     93 CallGroupBase
     94     Implements ICallGroup interface.
     95     Manages all calls which are established hereafter the initial 1-to-1 call is established.
     96     It's for providing the dummy calls which are disconnected with the IMS network after
     97     merged or extended to the conference.
     98 
     99 CallGroupManager
    100     Manages CallGroup objects.
    101 
    102 ICallGroup
    103     Provides the interface to manage all calls which are established hereafter the initial
    104     1-to-1 call is established. It's for providing the dummy calls which are disconnected with
    105     the IMS network after merged or extended to the conference.
    106 
    107 ImsCallSession
    108     Provides the call initiation/termination, and media exchange between two IMS endpoints.
    109     It directly communicates with IMS service which implements the IMS protocol behavior.
    110 
    111 ImsStreamMediaSession
    112     Provides the APIs to control the media session, such as passing the surface object,
    113     controlling the camera (front/rear selection, zoom, brightness, ...) for a video calling.