Telephony Framework in Tizen 2.1: What’s new?
Harish Bishnoi, Philippe Nunes
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
Harish Bishnoi, Philippe Nunes
§ Voice Call and Messaging services § Supplementary services, USSD § SIM, Phonebook, SAT § Packet and A-GPS services § Network services (LTE, 3G/2G)
§ Modem Agnostic § Flexible and easily customizable as per OEM needs
Module.
cloned.
interest.
Modem plug-in Modem I/F plug-in B Modem A Modem I/F plug-in A Modem B
TTY CAIF
Mapping ¡Table
Setup Mapping table
Mapping table reference
HAL1 SMS
CALL
HAL3 HAL2 SIM
SAT Network
Mapping ¡ Table
Mapping table reference
Setup Mapping table HAL1 SMS
CALL
HAL3 HAL2 SIM
SAT Network
Modem Modem Modem Plug-in Kernel space Modem Interface Plug-in
Physical HAL Physical HAL
Driver Driver
Modem Interface Plug-in
Physical HAL
Driver
Driver Driver Logical HAL Logical HAL
Communicator Plugin Server
Init
Load Load Load Call Init Call Init Call Init
Init Init
Template CO plug-in Modem Interface
Basic ¡plug-‑in ¡ folder ¡
Create communicator
Event ADDED_PLUGIN
Load and Initialize modem plug-in
Communicator Modem Modem Interface Modem plug-in Server Init Modem Interface plug-in Modem communication setup Registers Modem
Mux Setup
Check Modem state
Mux Setup
Requests specific modem plugin loading
Init Create physical HAL(s) Initialize sub-modules and clone Core Objects
Assign logical or physical HALs to Core Object type
Creates interfaces for the Sub- modules present
Modem Ready Add Modem item Setup Mapping table
Communicator Modem Interface Modem plug-in Server Dispatch User Request HAL Send Request data
Creates User Request
TAPI App Req
Plug-in
Core Object
Modem Find the Core
?
Dispatch User Request Find the Plug-in
?
Core Object function dispatcher
Enqueue Pending
Communicator Modem Interface Modem plug-in Response data
Prepare and send the response
TAPI Modem Send response to communicator
Pop pending request from the HAL queue Emit pending response
Parse response Prepare UR response
Response Callback Invoke Application callback for async answer
Server
Noti / Resp?
Communicator Modem Interface Modem plug-in Unsolicited result code
Prepare and send the notification
TAPI Modem Dispatch notification
Emit unsolicited message
Invoke callback for event
Server
Noti/ Resp?
Communicator
Invoke Hook functions Invoke Notification Callback Registered by Core Objects
Descriptor ¡Structure ¡ Descrip4on ¡of ¡structure ¡elements ¡
struct tcore_plugin_define_desc {
Structure ¡referred ¡by ¡Telephony ¡Server ¡to ¡load, ¡iniFalize, ¡and ¡unload ¡the ¡Plug-‑in. ¡
gchar *name;
¡ ¡ ¡ ¡ ¡Name ¡of ¡Plug-‑in ¡
enum tcore_plugin_priority priority; ¡ ¡ ¡ ¡ ¡IniFalizing ¡priority ¡of ¡the ¡Plug-‑in ¡ int version;
¡ ¡ ¡ ¡ ¡Plug-‑in ¡version ¡
gboolean (*load)();
¡ ¡ ¡ ¡ ¡Plug-‑in ¡load ¡funcFon ¡reference ¡
gboolean (*init)(TcorePlugin *);
¡ ¡ ¡ ¡ ¡Plug-‑in ¡init ¡funcFon ¡reference ¡
void (*unload)(TcorePlugin *);
¡ ¡ ¡ ¡ ¡Plug-‑in ¡unload ¡funcFon ¡reference ¡
};
with the corresponding assignments