User Tag List

Results 1 to 2 of 2
  1. #1
    Senior Member xeon.zolt's Avatar
    Join Date
    May 2014
    Location
    faridabad,haryana
    Posts
    249
    Post Thanks / Like
    Mentioned
    5 Post(s)
    Tagged
    2 Thread(s)

    Android ril explained

    Introduction
    The document explains about the building blocks of Android telephony an how it works

    Android telephony architecture
    Android telephony architecture



    Application: All the telephony related applications like Dialer, Call tracker, SMS, MMS, GPRS, Antenna signal indicator and etc, will come into this section. All these applications will be started during the android boot up. These applications will be tied up with the Android telephony framework services. The telephony framework provides APIs to access the Phone.



    Framework services: Telephony framework will be initialized and started during the system start up. All the queries from the application through API will directed to the Radio interface Layer of Android by these services. The service will keep tracking of all the unsolicited commands from the modem. Unsolicited commands are the commands initiated from the modem.


    Radio Interface Layer: It is the bridge between Android phone framework services and the hardware. In other words, it is the protocol stack for Telephone. The RIL consist of two primary components.


    RIL Daemon
    Vendor RIL


    RIL Daemon


    RILD will be initialized during the Android system start up. It will read the system property to find which library has to be used for Vendor RIL, provide the appropriate input for vendor RIL and finally calls RIL_Init function of Vendor RIL to map all the Vendor RIL functions to the upper layer. Each vendor RIL has RIL_Init function.


    Vendor RIL


    It is a library specific to each modem. In other words, we can call it as a driver to function the modem. The RIL daemon will call the RIL_Init function with the device location (eg: /dev/ttyS0). It will initiate the modem and returns theRIL_RadioFunctions structure contains the handles of radio functions



    Code:
      type structure {
    
     
    
              intRIL_version;
     
    
              RIL_RequestFunconRequest;
     
    
              RIL_RadioStateRequestonStateRequest;
       
       
    RIL_Supports supports;
    
     
    
              RIL_CancelonCancel;
     
    
              RIL_GetVersiongetVersion;
     
    
       } RIL_RadioFunctions;

    RIL_version : Version of Android RIL


    onRequest : Call to Vendor RIL to make a RIL_REQUEST. It must be completed with a call to RIL_onRequestComplete().It will always be called from the same thread, so returning here implies that the radio is ready to process another command (whether or not the previous command has completed)


    supports : Return current radio state.RADIO_STATE_UNAVAILABLE should be the initial state


    getVersion : Version of Vendor RIL


    There are two forms of communications in Android RIL


    Solicited Commands :These are commands initiated from the upper layer. Like, Dialing/Send SMS are the solicited commands from the upper layer to the RIL. OnRequestis the function for sending the solicited commands from the upper layer


    The following diagram describes the solicited call in Android
    Solicited call in Android



    Solicited call in Android



    type structure { intRIL_version;
    RIL_RequestFunconRequest;
    RIL_RadioStateRequestonStateRequest;
    RIL_Supports supports;
    RIL_CancelonCancel;
    RIL_GetVersiongetVersion;
    } RIL_RadioFunctions;






    Each onRequest call should end with RIL_onRequestComplete. It is to send the response for the previous onRequest and to intimate we are ready for the next command. Refer ril.h for all the solicited commands


    Unsolicited commands


    These are the commands initiated from the modem to the upper layer. Like, Receive Call /Receive SMS are the commands. The Vendor RIL has to continuously monitor the device for unsolicited command from the modem.


    The following diagram describes the unsolicited call in Android

    Unsolicited call in Android




    Implementation of Vendor RIL


    Android is providing the basic vendor RIL with minimum feature set (reference-ril). It is good to start with that reference code. Compile the Vendor RIL as a shared library with the following style


    libril-<companyname>-<RIL version>.so


    libril

  2. Thanks PraNeeTh, W2n, mr.India thanked for this post
    Likes PraNeeTh liked this post
  3. # ADS
    Ads
    Circuit advertisement
    Join Date
    Always
    Location
    Advertising world
    Posts
    Many
     

  4. #2
    being Member
    Join Date
    Jul 2014
    Location
    Nagpur
    Posts
    11
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Nice bro.... !!


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •