Telephony Framework API
[1] Software Architecture Document, Version 1.1 Revision 1.4, LiMo Foundation, 11 September 2007
[2] 3GPP Specification References:
- 3GPP TS 24.008 Mobile radio interface Layer 3 specification; Core network protocols; Stage 3 (Release 5)
- 3GPP TS 22.030 Man-Machine Interface (MMI) of the User Equipment (UE) (Release 5)
- 3GPP TS 24.080 supplementary services specification (Release 5)
- 3GPP TS 23.038 Alphabets and language-specific information (Release 5)
- 3GPP TS 23.040 Technical realization of the Short Message Service (SMS) (Release 5)
- 3GPP TS 29.002 Mobile Application Part (MAP) specification (Release 5)
- 3GPP TS 31.102 Characteristics of the USIM application (Release 5)
- 3GPP TS 22.084 MultiParty (MPTY) Supplementary Services - Stage 1 (Release 5)
- 3GPP TS 23.014 Support of Dual Tone Multi Frequency (DTMF) signaling (Release 5)
This specification provides the LiMo OEM Adaptation Layer Plug-in API Specification. The document specifies how OEM Adaptation Layer Plug-in will interface with Telephony Server.
This document provides OEM Telephony APIs and descriptions of the APIs for functionality related to following telephony services
- Call Services
- Supplementary Service
- Unstructured Supplementary Data
- Network Registration
- SIM
- SMS
- TAPI: Telephony API library is responsible for carrying Application (user) requests to Telephony Server for various telephony services.
- Telephony Server: It is a process which receives the Application requests from multiple applications for various telephony services.
- OEM Adaptation Layer: This layer hides the underlying wireless stack and its interface part.. This allows the flexibility to port any underlying modem according to vendor requirement or business model. This abstracts the inter process communication used for single processor / dual processor model. This layer is vendor implementation specific.
- OEM Adaptation Layer Plug-in APIs: Telephony Server will call OEM Adaptation Layer Plug-in APIs to serve for application requests for various telephony related services. Also Indication/Response/Confirmation APIs are defined in this document which will be used by the OEM Adaptation layer in order to pass the responses/indications to Telephony Server. Telephony Server will generate events and publish it to application.
This specification provides the LiMo OEM Adaptation Layer Plug-in API Specification. Telephony Server uses OEM Adaptation Layer Plug-in APIs in order to pass the Telephony service requests to underlying wireless stack used by OEM Provider. OEM Adaptation layer plug-in will be using Telephony server callback APIs to provide the confirmations/indications from OEM Telephony Provider.
Figure 1. Telephony Logical Architecture
Telephony Server calls OEM Adaptation Layer Plug-in APIs to pass the requests received from TAPI to OEM Adaptation layer. OEM Adaptation layer is vendor specific plug-in implementation. OEM Adaptation layer will provide the requests to underlying wireless stack to get the actual service requested for. On receiving the response from OEM Telephony provider, OEM Adaptation Layer plug-in will call Telephony server callback APIs in order to pass the actual response to the Application. Telephony Server will generate events and publish it to the application using LiMo ED. Figure 2 explains the call flow for Telephony server and Oem Adaptation layer plug-in request and response scenario. There can be more than 1 asynchronous response to a single request, e.g. call setup. In case of call setup request, Telephony server will receive unsolicited indications such as call setup ind, call alert ind, connecting ind from the network.
Figure 2. Call Flow Explains Request and Response Scenario
On receiving any Indications or notification from OEM Telephony provider, OEM Adaptation layer will call plug-in APIs. Telephony Server will generate events and associated data will be published to the Application using LiMo ED. Figure 3 explains the call flow for Telephony server and Oem Adaptation layer plug-in indication and response scenario.
Figure 3. Call Flow Explains Indication and Response Fcenario
OEM Adaptation Layer Plug-in APIs hides the implementation of OEM Adaptation layer interface of the underlying modem. The Telephony Server will call OEM Adaptation Layer Plug-in APIs in order to pass the telephony service requests to OEM Telephony provider.
OEM Adaptation Layer Plug-in code will be written by vendor according to the interfaces defined by their underlying modem and its process model.
In order to pass the responses received for the requests or the indications from OEM Provider (wireless protocol stacks) to Telephony Server, Telephony Server function APIs will be called which in turn will generate events accordingly and publish it to the registered clients
OEM Adaptation layer Plug-in will run in same process context of Telephony server.
This allows the functionality of standard plug-in interface.
- OEM Adaptation layer Plug-in API calls should be non-blocking call. If it is a blocking call, then it will degrade the performance of Telephony Server.
- As OEM Adaptation Layer is a plug-in, All OEM Adaptation Layer Plug-in Request (Req) APIs and Response (Rsp) APIs handling shall be implemented by Vendor.
- OEM Adaptation layer has to call the appropriate Indications/Responses API(defined in Indications/Responses Section of this document) provided by the Telephony Server in order to pass responses/notification to the Application.
- Return value of OEM Adaptation Layer plug-in Request API only implies whether request is sent successfully or not to the Oem Telephony provider. Return value success does not imply that the request functionality is fully executed. If return value indicates Failure, then no further processing of the request is done at OEM.
- In case of failure("FALSE") return of any confirmation/indication API, OEM adaptation layer plug-in may perform further processing, if required.
- All request Confirmations/Indications are sent asynchronously by calling the OEM Indication/confirmation APIs.
- For a Request API, corresponding confirmation API to be called by OEM Adaptation layer is self-explanatory by naming convention
- Request_id is generated by telephony server and it is unique identifying the request made by TS and used for mapping the responses provided by the OEM Adaptation layer. The same RequestId is expected to be provided by OEM adaptation layer along with the confirmation. Request id provided to the OEM Adaptation Layer shall be a valid positive value. In case OEM Adaptation layer receives any value less than 0, it can send TAPI_API_INVALID_REQUEST_ID error back to TS.
- The memory allocated for the data in a particular layer should be deallocated by the same layer once the APIs are returned successfully.
- OEM Adaptation layer plug-in shall throw an error TAPI_API_REQUEST_MAX_IN_PROGRESS for an API request as the maximum number of requests for the same service is already in progress at OEM Adaptation layer.
- Asynchronous confirmation APIs(Cnf APIs) and indication APIs (Ind APIs) may return false, if there is communication loss between TAPI Client and Telephony server. This API return is just an indication to OEM Adaptation layer that asynchronous response failed at TS.
APIs follows convention of ending with Req, Rsp, Cnf and Ind. Description is provided for the convention in the following Table:
Number |
API Suffix Used |
Description |
1 |
Req |
Telephony Server make service requests by calling Req OEM Adaptation Layer Plug-in APIs |
2 |
Cnf |
Cnf API callbacks are used to provide asynchronous responses received from lower layers to Telephony Server. |
3 |
Ind |
Ind API Callbacks are used by the OEM Adaptation layer Plug-in to pass the network indications or lower layer indications to Telephony server. Based on the indications, TS will inform application by publishing events using LiMo ED. |
4 |
Rsp |
Using the Rsp APIs, response is sent to OEM Telephony provider when network interrogates UE for necessary information to provide the service. |
None
None
None
None
None
Generated on Mon Mar 31 01:01:00 2008 by
1.5.4
|