telephony framework in tizen 2 1 what s new
play

Telephony Framework in Tizen 2.1: Whats new? Harish Bishnoi, - PowerPoint PPT Presentation

Telephony Framework in Tizen 2.1: Whats new? Harish Bishnoi, Philippe Nunes Agenda Introduction Architecture Tizen2.1 Features Call Flows Porting Telephony Future work 2 Introduction Introduction | Feature Overview


  1. Telephony Framework in Tizen 2.1: What’s new? Harish Bishnoi, Philippe Nunes

  2. Agenda ● Introduction ● Architecture ● Tizen2.1 Features ● Call Flows ● Porting Telephony ● Future work 2

  3. Introduction

  4. Introduction | Feature Overview ● Offers rich functionalities § Voice Call and Messaging services § Supplementary services, USSD § SIM, Phonebook, SAT § Packet and A-GPS services § Network services (LTE, 3G/2G) ● Plug-in based Architecture § Modem Agnostic § Flexible and easily customizable as per OEM needs 4

  5. Introduction | Feature Overview ● Commercial ready ● Verified on Ref.Device-210 and Ref.Device-PQ ● Verified on Intel Medfield device ● License ● Apache License Version 2.0 ● Reference plugin available ● AT commands (3GPP 27.007/ 27.010) based plugin 5

  6. Architecture

  7. Architecture | Definitions ● Core Objects ● Executable components of a Telephony Module (SIM, CALL, SS, etc.). ● Bundle of functions and supportive database information designated to the Module. ● Template Core Objects ● Non-Executable components, but result in executable Core Objects when cloned. ● Hardware Abstraction Layer (HAL) ● Abstracts the communication channel with modem. ● Hooks ● Mechanism to tap Requests/Notifications of other Telephony Modules of interest. 7

  8. Architecture | Telephony Components The major components of Telephony are – ● Telephony libraries ● Telephony API (TAPI) library ● Core Telephony library ● Telephony Plug-ins ● Communicator plug-ins ● Modem plug-ins ● Modem Interface plug-ins (HAL) ● Free Style plug-ins ● Telephony Server 8

  9. Architecture | Overview 9

  10. Architecture | TAPI library ● Telephony API library (or simply TAPI ) is a standardized interface provided to applications to interact with Telephony over DBUS. ● TAPI is provided as libslp_tapi and executes in application’s context. ● TAPI provides Sync and Async APIs. 10

  11. Architecture | Telephony Core library ● Core Telephony library (or simply libtcore) provides an API framework for Telephony components to inter-work. ● It is provided as libtcore package. 11

  12. Architecture | Plug-ins 12

  13. Architecture | Telephony Server 13

  14. Tizen2.1 Features

  15. Tizen2.1 Features | Design consideration Optimize the support of various types of ● modem architectures from same vendor . Modem plug-in Modem plug-in needs to be hardware ● agnostic. Modem I/F plug-in Modem I/F plug-in Modem Interface plug-in is the adaptation ● B A layer between the telephony framework and the hardware of your target device CAIF TTY Avoid code duplication by introducing ● Core object templates and operations Modem B Modem A over-riding. Same ¡Vendor ¡ 15

  16. Tizen2.1 Features | Core Object cloning ● Core Objects can be cloned from ready-to-use Template Core Objects ● Template Core Objects are stored in Server ● Cloned Core object is Executable 16

  17. Tizen2.1 Features | Over-riding operations ● Operations over-riding enables Vendors to customize the Core Objects ● Over-riding can vary from 0 – 100 % ● Callbacks for notification(s) can also be over-rided 17

  18. Tizen2.1 Features | CMUX support ● 3GPP TS 27.010 – Terminal Equipment to Mobile Station (TE-MS) multiplexer protocol is supported ● Currently supports Basic mode operation ● Enables different Core Objects (CALL, SIM, SMS, etc) to interact with Modem concurrently through multiple CMUX channels 18

  19. Tizen2.1 Features | Internal CMUX ● Internal CMUX uses CMUX feature of libtcore ● Each Logical HAL has a dedicated CMUX channel Mapping table ● Logical HALs can be shared reference between Core Objects ● The HAL assignment to Core Objects is done by the mapping Mapping ¡Table table HAL1 SMS Setup CALL Mapping table HAL2 SIM SAT HAL3 Network 19

  20. Tizen2.1 Features | Kernel CMUX ● The MUX driver is an open source implementation (N_GSM) of the 3GPP 27.010 Mapping table reference ● Multiple Physical HALs exist, each has a dedicated Kernel CMUX channel Mapping ¡ Setup Table ● Physical HALs can be Mapping table HAL1 SMS shared between Core CALL HAL2 SIM Objects SAT Network HAL3 20

  21. Tizen2.1 Features | Hardware agnostic Modem plug-in Modem Plug-in Logical HAL Logical HAL Modem Interface Plug-in Modem Interface Plug-in Physical Physical Physical HAL HAL HAL Driver Driver Driver Driver Driver Kernel space Modem Modem ● Same Modem plug-in can operate across various types of modem architectures (from same vendor) ● Hardware specific adaptation are required ONLY in Modem Interface plug-in 21

  22. Call Flows

  23. Call Flows | Boot-up sequence Server Communicator Template CO Load Load Plugin plug-in Basic ¡plug-­‑in ¡ folder ¡ Load Modem Interface Call Init Call Init Init Init Create Call Init communicator Init 23

  24. Call Flows | Initial sequence Modem Communicator Server Modem plug-in Modem Interface Init Modem Interface plug-in Init Create physical HAL(s) Modem communication setup Add Registers Modem Modem Check Modem state item Modem Ready Assign logical or physical HALs Mux Setup Mux Setup Setup to Core Object type Mapping table Requests specific modem plugin loading Initialize Load and sub-modules and Creates Initialize clone Core Objects interfaces modem plug-in for the Sub- Event modules ADDED_PLUGIN present 24

  25. Call Flows | Application request sequence Modem TAPI Communicator Server Modem plug-in Modem Interface App Req Creates User Request Dispatch User Request Plug-in Find the ? Plug-in Find the ? Core Core Object object Dispatch Enqueue Pending User Request Core Object function HAL Send Request dispatcher data 25

  26. Call Flows | Solicited Response sequence Modem TAPI Communicator Server Modem Modem plug-in Interface Response data Noti / Resp? Pop pending request from the HAL queue Response Callback Emit pending Parse response response Prepare UR response Prepare and Send response to send the communicator response Invoke Application callback for async answer 26

  27. Call Flows | Unsolicited Response sequence Modem TAPI Communicator Server Modem Modem plug-in Interface Emit unsolicited Unsolicited result Invoke message code Noti/ Notification Resp? Callback Registered by Core Objects Invoke Hook Dispatch functions notification Prepare and send Communicator the notification Invoke callback for event 27

  28. Porting Telephony

  29. Porting Telephony | Implementing plug-ins ● All telephony plug-ins mandatorily need to provide a descriptor structure Descriptor ¡Structure ¡ Descrip4on ¡of ¡structure ¡elements ¡ Structure ¡referred ¡by ¡Telephony ¡Server ¡to ¡load, ¡iniFalize, ¡and ¡unload ¡the ¡Plug-­‑in. ¡ struct tcore_plugin_define_desc { ¡ ¡ ¡ ¡ ¡Name ¡of ¡Plug-­‑in ¡ gchar *name; enum tcore_plugin_priority priority; ¡ ¡ ¡ ¡ ¡IniFalizing ¡priority ¡of ¡the ¡Plug-­‑in ¡ ¡ ¡ ¡ ¡ ¡Plug-­‑in ¡version ¡ int version; ¡ ¡ ¡ ¡ ¡Plug-­‑in ¡load ¡funcFon ¡reference ¡ gboolean (*load)(); ¡ ¡ ¡ ¡ ¡Plug-­‑in ¡init ¡funcFon ¡reference ¡ gboolean (*init)(TcorePlugin *); ¡ ¡ ¡ ¡ ¡Plug-­‑in ¡unload ¡funcFon ¡reference ¡ void (*unload)(TcorePlugin *); }; ● OEM vendors can customize each and every Telephony plug-in as per their needs. ● It is NOT mandatory that all the plug-ins need to be changed to support a specific hardware. 29

  30. Porting Telephony | Vendor plug-in requisites ● Modem Interface plug-in ● Establish connection to modem, additionally if required setup CMUX (either internal or Kernel) ● Create HALs (Logical and/or Physical) ● Register new modem into server ● Assign Core Object types to HALs (logical or physical) and update Mapping Table with the corresponding assignments ● Request Server to load modem specific Modem plug-in ● Modem plug-in ● Clone and initialize the Core Objects according the Mapping Table ● Override the operations and callbacks (if required) ● Start Telephony functionalities 30

  31. Future work

  32. Future work ● USB data dongle support ● VoLTE support ● CDMA modem support ● Multi-SIM 32

Recommend


More recommend