Telephony Foundation API

1.0 References

[1] Software Architecture Document, Version 1.1 Revision 1.4, LiMo Foundation, 11 September 2007
[2] High Level Requirements, Version 1.0 Revision 1.5, LiMo Foundation, 22 October 2007
[3] 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)

2.0 Overview

The Telephony Service provides an abstraction of the mobile network telephony capabilities of a device and enables applications to invoke comprehensive and flexible telephony functions in support of their applications; e.g. voice call services, video call setup (video call functionality is not supported in the current release), supplementary services, call charge information and telephone network registration. The Telephony service also provides the telephony related services required by other LiMo Frameworks and components, for example APIs for sending/receiving SMS messages, receiving cell broadcast messages for the LiMo Messaging Service.
SIM/UIM access (e.g. read/write of SIM resident data) is closely related to telephony functionality and often realized by the same components and therefore this is also included in the Telephony Service architecture. SIM/USIM Application Toolkit provides a mechanism that allows applications resident on the SIM/USIM to interact with the mobile handset applications and components. Support of this functionality is not a part of LiMo Release 1 scope, but included as a placeholder for a future release.

2.1 Execution Model - TAPI Client Library and Telephony Server

The LiMo TAPI client library and LiMo Telephony Server provide the general telephony services and hide all low-level details from the application developers.

1) A Telephony client application loads the LiMo TAPI Client library into its process space and uses TAPI to interface with LiMo Telephony Server.

2) TAPI client application has to register the callback with TAPI Library for handling the telephony events (Solicited /Unsolicited events). Registered callback function shall be invoked when events occurs at TAPI Library.

3) LiMo TAPI library establishes the communication link with the LiMo Telephony Server. When an application calls a Telephony APIs, the LiMo TAPI library validates and marshals the parameters, then forwards the information to the LiMo Telephony Server.

4) LiMo Telephony Server tracks communications resources available and sends their synchronous/asynchronous responses to LiMo TAPI library. TAPI library passes the synchronous/asynchronous responses or any unsolicited indication in terms of Telephony events to TAPI Application directly hiding telephony protocol details.

5) LiMo TAPI library de-marshals the response from LiMo Telephony Server which is returned synchronously and returns it to LiMo TAPI Application.

There is only one Telephony Server instance in LiMo R1 which supports multiple simultaneous telephony applications. LiMo Telephony frameworks client-server model abstracts the telephony applications from protocol and low-level details, which make simple for application developer and helps telephony server robust in nature On the other hand, LiMo TAPI already supports radio interfaces GSM/CDMA/3G and it is easy to extend to support various other radio interfaces.

2.2 General Programming Considerations - TAPI Request APIs

The TAPI library provides APIs for applications to access telephony services. The TAPI library provides two types of request functions. These request functions are called by the telephony client applications in order to provide basic telephony service to the user.
  • Synchronous requests
  • Asynchronous requests

2.2.1 Synchronous Request APIs

The client application process waits until the processing of the request is completed. The Telephony server can process some APIs and provide the return response while returning back to the function. The function returns with the result of the request (if any) and any applicable error codes. For example, an application may query for call status information on a call or get network registration status information.

SyncInterface.jpg

Synchronous Interface

2.2.2 Asynchronous Request APIs

In the case of Asynchronous request APIs, the request is provided to the Telephony server and the actual confirmation/response to that request will be returned at later time. The Telephony server provides a response to the TAPI library and the TAPI library invokes registered application callback to pass telephony events to the application. An illustration of the client application making a call to an asynchronous function is provided in the following figure.

AsyncInterface.jpg

Asynchronous Interface

In an asynchronous request:

  • The client application passes parameters related to the service request and also it provides an out parameter request id (an unique identifier) for each asynchronous service request which will be filled and returned by Telephony server.
  • When the function is returned, the return value indicates whether the request was successfully sent to the Telephony Server or if failure happened during processing in the Telephony Server. In case of a successful API return, a valid RequestId value will be filled and returned to the application. The request id parameter value will be set to an invalid value (for e.g., 0xFF), when the API fails due to some reason.
  • When the Telephony server receives the actual completion of service, it sends the results of the events to the TAPI library. The TAPI library processes the event received and passes it to Client application using the registered callback. The client application shall handle the notification events in the registered callback.
  • Asynchronous functions can be completed in one or more event notifications.
For example, In a Call Hold API request, there will be one event notification which will complete the asynchronous nature.

However, in a Call Setup API request, there are many intermediate events during the call including: a Connecting Indication event, an Alert Indication event, and a Connected Indication event. Based on the event notification and corresponding states, the application can decide whether the request is complete or not.

The Telephony client application has to register the callback with Telephony to receive the event notification messages and handle them in its own process. Based on the callback registration, the application callback will get invoked for those registered events when the TAPI library receives the indication from Telephony server. For example, a call being connected, Alert Indication, or incoming call etc.
If an application decides to call an asynchronous API and then wait for the API completion notification, then the application can be considered to be executing that API in a synchronous fashion. This is allowable.

RequestId Information:
The request id is used to uniquely identify an asynchronous service request. All Asynchronous Request APIs provide a RequestId as an out parameter. The RequestId pointer will have a value in the range(0-255) returned by Telephony server on processing the API request successfully. If there is a failure in an API request, the RequestId shall be invalid request id (value = -1) and the function return value will indicate an error.
This RequestId will act as reference for each API request an application originates. An application shall receive the RequestId value along with other event data for asynchronous response/Indication from TAPI library. The application can clear the RequestId value based on the RequestId and event(s) received for the originated request. In the case of unsolicited events, the RequestId parameter passed in the notification shall be the invalid request id value which is -1.

2.2.3 TAPI Considerations

The following conditions need to be followed by TAPI and Applications:

  1. All the input parameters passed in Telephony APIs are validated in TAPI Client library as below:
    1. Parameters (passed by reference) are validated against Null
    2. Type defined Enumeration parameters are validated against start and end enumeration values
    3. TAPI Client library will pass all the requests to Telephony Server after the above considerations (a) and (b).
    4. Telephony server shall validate some parameters based on the information. For example, if an invalid call handle is sent in Call API requests, the Telephony server will validate the call handle with its existing call related information. If it is not a valid handle, then a TAPI_INVALID_CALLHANDLE error will be returned from API synchronously in the return value to the client application.
  2. The Application has to allocate memory for the parameters passed by reference in Telephony API calls. The Application shall de-allocate the memory once the API call is completed, successful or not.
  3. In the case of Synchronous APIs, when API has returned with success to the Application, then the out parameters' data is valid. Application can process the out parameter data and release if any memory is allocated for that out parameter.
  4. In the case of Asynchronous APIs, data will be available as soon as application callback is invoked for a received telephony event from TAPI library.
  5. When an API is processed successfully within Telephony FW, the API return value will be set to TAPI_API_SUCCESS. If there is a failure in processing the request within Telephony server, then the API return value may contain any other value than TAPI_API_SUCCESS and the error values are defined in section [TapiResult_t]. For synchronous APIs out parameters' data is valid when the API return value is set to TAPI_API_SUCCESS.
  6. If there are errors in processing the request at the OEM Telephony provider or any errors from the network, these errors are indicated to the application in Asynchronous notification based on the service request.
  7. If there is no data associated with an event, then the event data parameter in the TAPI Event structure [TelTapiEvent_t] will be NULL when it is passed in the Application callback.
  8. The first TAPI request from a TAPI Client will initialize the TAPI Library and Telephony server communication.
  9. In the case of asynchronous solicited responses, TAPI library filters out the event with request id which is not requested by that application.
  10. The API request may fail with a return error TAPI_API_REQUEST_MAX_IN_PROGRESS as the maximum number of requests for the same service is already in progress in TS/OEM Adaptation layer plug-in.
  11. If an application calls a synchronous API, then it needs to wait until the request is complete (blocked) and the response is sent back. But at the same time, The application should be able to process the registered callbacks, if any, it has registered for other events.

2.2.4 The Two Common Uses of Asynchronous Requests

In general, there are 2 cases for Asynchronous interaction between a TAPI application and the Telephony Server.

Case1 (Service Requests): A TAPI Application requests the service by calling a TAPI Client Library function and then the TAPI Library sends the notification to inform the application of the service result by invoking the registered application callback. Making a voice call is such a case.
The application calls TelTapiCallSetup to request the voice call service, and then it may continue with other work. The Telephony server will provide intermediate notifications (Setup indication, Connecting Indication, Alert indication etc.) about any changes in call status. Once the call is established, the Telephony server will send the Connected indication to the TAPI Library which will in turn notify the application about the status of call (connected or disconnected), the application should handle the processing after that point.

Case2 (Unsolicited Indications): The Telephony server on receiving some unsolicited indications which may be due to messages received from the network or from an underlying wireless protocol stack performing some periodic functionalities like network search and registration, will inform these indications to the application through asynchronous notifications using the TAPI Library. Examples of this case are incoming SMS, incoming call, network registration status and network signal change.

notification.jpg

Notification Case2 Illustration

An application has to register the callback for Telephony events with the TAPI Library in order to receive the solicited or unsolicited asynchronous notification. Unsolicited notification (case 2) will occur regardless whether application uses only synchronous API or only asynchronous API or combination of those. All applications should be able to handle asynchronous unsolicited events.

2.3 Unsolicited Notifications

When an unsolicited notification is generated by Telephony FW in response to some external event (e.g. a signal), it does not directly mean completion or progress of any outstanding request posted by a client application. An unsolicited event in general means either change of some state (for example, network registration change) or some incoming signal that may be of interest for the application (e.g. an incoming call).
An unsolicited asynchronous notification still has to be handled even if an application uses only synchronous API. An application may choose to ignore unsolicited notifications, however TAPI does not provide any other direct way for an application to be informed on telephony related external events. The list of unsolicited notifications supported by the Telephony server is captured in Overview2_7 .

2.4 Event Notifications

Telephony applications (i.e. clients) have to register for events which are of its interest according to its requirements with the TAPI Library. On receiving an asynchronous response or unsolicited indication, the TAPI Library will invoke the callback registered by the telephony client. TAPI event details are detailed in TelTapiEvent_t .
Applications will register the callback with TAPI Library for Telephony events TAPI library shall invoke the registered callback function when the event is received. See the complete list of Telephony events in Overview2_6.

2.5 The TAPI Event Class

Please refer to TelTapiEventClass_t for a complete description of this enumerated list of events.
Event Class Description
TAPI_CALL_VOICE Voice call events
TAPI_CALL_DATA Data call events
TAPI_NETTEXT Network Text (SMS and Cell Broadcast) related events
TAPI_NETWORK Network related events
TAPI_SS Supplementary Service events
TAPI_SIM Sim related events
TAPI_ERR Error Related events (For debugging purposes e.g. Fatal errors at OEM level to be displayed on screen )
TAPI_UTIL Utility events
TAPI_ALL Events pertaining to All Telephony Event Classes

2.6 Telephony Events

This table explains the list of TAPI events which are passed to an application based on confirmation/indication event occurring at the TAPI Library.
Network Class Events
TAPI Event Type Description Associated Event Data/Payload Structures Asynchronous Response Status
TAPI_EVENT_NETWORK_SELECT_CNF This confirmation event will be returned when user manually selected a network from list for Network selection TelNetworkInfo_t TelNetworkOperationCause_t
TAPI_EVENT_NETWORK_SEARCH_CNF This event is returned as confirmation for manual Network search with the available network list TelNetworkList_t TelNetworkOperationCause_t
TAPI_EVENT_NETWORK_GETSELECTIONMODE_CNF This event is returned when Get selection mode indication is received at TS TelNetworkSelectionMode_t TelNetworkOperationCause_t
TAPI_EVENT_NETWORK_GETNETWORKINFO_CNF This event is returned when Get network information is requested TelNetworkInfo_t TelNetworkOperationCause_t
TAPI_EVENT_NETWORK_CANCELMANUALSEARCH_CNF This event is returned on cancellation of manual network search No Data associated with this event TelNetworkOperationCause_t
TAPI_EVENT_NETWORK_CANCELMANUALSELECTION_CNF This event is returned on cancellation of manual network selection from network list No Data associated with this event TelNetworkOperationCause_t
TAPI_EVENT_NETWORK_SETNWORDER_CNF This event is returned on setting network order No Data associated with this event TelNetworkOperationCause_t
TAPI_EVENT_NETWORK_SETNWMODE_CNF This event is returned on setting network mode No Data associated with this event TelNetworkOperationCause_t
TAPI_EVENT_NETWORK_SETSELECTIONMODE_CNF This event is returned on setting network selection mode No Data associated with this event TelNetworkOperationCause_t
TAPI_EVENT_NETWORK_SETNWBAND_CNF This event is returned on setting network band No Data associated with this event TelNetworkOperationCause_t
TAPI_EVENT_NETWORK_SETSERVICEDOMAIN_CNF This event is returned on setting network service domain No Data associated with this event TelNetworkOperationCause_t
TAPI_EVENT_NETWORK_CONFIG_CNF This event is returned on setting the network configuration No Data associated with this event TelNetworkOperationCause_t
TAPI_EVENT_NETWORK_CHANGE_IND This event will be returned when Telephony server receives any indication from OEM about change in Network registration/selection/status TelNetworkInfo_t No Status associated with this event
TAPI_EVENT_NETWORK_SEARCH_IND This is unsolicited event indicated when TS receives any indication of Manual search indication with list TelNetworkList_t No Status associated with this event
TAPI_EVENT_NETWORK_RADIO_INFO_IND This is unsolicited event indicating Radio signal indication TelNetworkRadioInfo_t No Status associated with this event
NetText Class Events
TAPI Event Type Description Associated Event Data/Payload Structures Asynchronous Response Status
TAPI_EVENT_NETTEXT_READ_SMS_CNF This event is returned in response to SMS Read message TelSmsData_t TelSmsResponse_t
TAPI_EVENT_NETTEXT_GET_COUNT_CNF This event is returned in response to Get Number of messages stored in SIM TelSmsStoredMsgCountInfo_t TelSmsResponse_t
TAPI_EVENT_NETTEXT_SENTSTATUS_CNF This event is returned in response to SMS message sent TelSmsDatapackageInfo_t TelSmsResponse_t
TAPI_EVENT_NETTEXT_GET_PARAM_CNF This event is returned in response to NetText Get parameters TelSmsParams_t TelSmsResponse_t
TAPI_EVENT_NETTEXT_DELETE_STATUS_CNF This confirmation event is a returned indicating the delete message e status Integer:Sim-index from which the message has been deleted TelSmsResponse_t
TAPI_EVENT_NETTEXT_SAVE_STATUS_CNF This confirmation event is a returned indicating the Save SMS into SIM status Integer:Sim-Index in which the message stored TelSmsResponse_t
TAPI_EVENT_NETTEXT_SET_REQUEST_CNF This event will be returned as a confirmation for SET nettext APIs No Data associated with this event TelSmsResponse_t
TAPI_EVENT_NETTEXT_GET_CB_CONFIG_CNF This event will be returned with Get CB configuration details TelSmsCbConfig_t TelSmsResponse_t
TAPI_EVENT_NETTEXT_GET_SMSBEARER_CNF This event is returned as a response to get preferred bearer used for SMS Transport TelSmsBearerType_t TelSmsResponse_t
TAPI_EVENT_NETTEXT_DELIVERY_REPORT_CNF This event is returned in response to send delivery report No Event data associated with this event TelSmsResponse_t
TAPI_EVENT_NETTEXT_INCOM_IND This is an unsolicited Incoming SMS Event TelSmsDatapackageInfo_t No Status associated with this event
TAPI_EVENT_NETTEXT_CB_INCOM_IND This is an unsolicited Incoming cell broadcast message TelSmsCbMsg_t No Status associated with this event
TAPI_EVENT_NETTEXT_MEMORY_STATUS_IND This event is an unsolicited event indicating SIM memory status BOOL (SIM Memory is available or not : 1:0) No Status associated with this event
Call Class Events
TAPI Event Type Description Associated Event Data/Payload Structures Asynchronous Response Status
TAPI_EVENT_CALL_SETUP_CNF This event is returned as confirmation for Call setup Integer: Call Handle TelCallCause_t
TAPI_EVENT_CALL_SEND_DTMF_CNF This event indicates the confirmation for sending DTMF Digits to the network Integer: Call Handle TelCallCause_t
TAPI_EVENT_CALL_ANSWER_CNF Incoming call was answered Integer: Call Handle TelCallCause_t
TAPI_EVENT_CALL_RETRIEVE_CNF This event indicates Call is retrieved from held state Integer: Call Handle TelCallCause_t
TAPI_EVENT_CALL_HOLD_CNF This event indicates is call is put on hold Integer: Call Handle TelCallCause_t
TAPI_EVENT_CALL_TRANSFER_CNF This event indicates is call is explicitly transferred Integer: Call Handle TelCallCause_t
TAPI_EVENT_CALL_SETUPCONFERENCE_CNF This event indicates that Call is joined in a conference Integer: Call Handle TelCallCause_t
TAPI_EVENT_CALL_SPLITCONFERENCE_CNF This event indicates Call is split from conference Integer: Call Handle TelCallCause_t
TAPI_EVENT_CALL_FORWARD_IND This event indication for Call is forwarded Integer: Call Handle No Status associated with this event
TAPI_EVENT_CALL_ALERT_IND This event indicates the Call is in Alerting stage Integer: Call Handle No Status associated with this event
TAPI_EVENT_CALL_RELEASE_ALL_CNF This event is indicated when all the calls released requested by the application No Data associated with this event TelCallCause_t
TAPI_EVENT_CALL_CONNECTED_IND This event indicates the Call is Connected Integer: Call Handle No Status associated with this event
TAPI_EVENT_CALL_CONNECTING_IND This event indicates the Call is in Connecting stage Integer: Call Handle No Status associated with this event
TAPI_EVENT_CALL_RETRIEVE_ IND This event indicates that other party has retrieved the call from hold Integer: Call Handle No Status associated with this event
TAPI_EVENT_CALL_HOLD_IND This event indicates that other party is has put the call on hold Integer: Call Handle No Status associated with this event
TAPI_EVENT_CALL_TRANSFER_IND This event is to indicate the notification of remote Explicit Call Transfer Integer: Call Handle No Status associated with this event
TAPI_EVENT_CALL_SETUPCONFERENCE_IND This event is to indicate the notification of invocation of Multiparty indication Integer: Call Handle No Status associated with this event
TAPI_EVENT_CALL_WAITING_IND This event is to indicate that Call waiting indication at the remote end Integer: Call Handle No Status associated with this event
TAPI_EVENT_CALL_USERINFO_IND This event is indicated when user-User Information(UUS1) exchanged during the call TelCallUserDataInfo_t No Status associated with this event
TAPI_EVENT_CALL_INCOM_IND This event indicates Incoming Call indication to Application TelCallIncomingCallInfo_t No Status associated with this event
TAPI_EVENT_CALL_END_IND This event indicates the Call is Ended. This event can be solicited/unsolicited.

In case of solicited events (call release/end is explicitly requested by Application) then valid request id shall be present.

In case of Unsolicited events, invalid (-1) is passed in the event notification

TelCallEndInfo_t No Status associated with this event
Supplementary Service Class Events
TAPI Event Type Description Associated Event Data/Payload Structures Asynchronous Response Status
TAPI_EVENT_SS_BARRING_CNF This confirmation event is sent when Barring activation/deactivation is requested TelSsInfo_t TelSsCause_t
TAPI_EVENT_SS_GET_PASSWORD_IND This event is indicated to the Application when network requests for Call barring Get password for barring operation. TelSsBarPwdType_t No Status associated with this event
TAPI_EVENT_SS_BARRING_CHANGEPASS_CNF This event is returned as Barring password change confirmation No Data associated with this event TelSsCause_t
TAPI_EVENT_SS_BARRING_QUERYSTATUS_CNF This event is returned as Barring status query confirmation TelSsInfo_t TelSsCause_t
TAPI_EVENT_SS_FORWARD_CNF This event is returned as confirmation for Forward Activation/Deactivation/Registration/Erasure TelSsInfo_t TelSsCause_t
TAPI_EVENT_SS_FORWARD_QUERYSTATUS_CNF This event is returned as confirmation for Forward Status query confirmation TelSsInfo_t TelSsCause_t
TAPI_EVENT_SS_WAITING_CNF This event is returned as confirmation for Call waiting activation/deactivation TelSsInfo_t TelSsCause_t
TAPI_EVENT_SS_WAITING_QUERYSTATUS_CNF This event is returned as Call waiting status query confirmation TelSsInfo_t TelSsCause_t
TAPI_EVENT_SS_USSD_CNF This event is returned as USSD send confirmation TelSsUssdMsgInfo_t TelSsCause_t
TAPI_EVENT_SS_USSDCNF_RSP This event is returned as USSD confirmation response which is sent as a response to received USSD TelSsUssdRespType_t TelSsCause_t
TAPI_EVENT_SS_USSDCNF_NOTIFY This event is an unsolicited USSD notification TelSsUssdMsgInfo_t TelSsCause_t
TAPI_EVENT_SS_USSD_IND_RSP USSD Indication Response TelSsUssdRespType_t TelSsCause_t
TAPI_EVENT_SS_VERIFY_PWD_CNF This event is sent when verify pwd response is sent to Network No Data associated with this event TelSsCause_t
TAPI_EVENT_SS_QUERYCAPABILITY_INFO_CNF Event associated with the interrogation of supported supplementary services at OEM. TelSsCapabilityInfo_t TelSsCause_t
TAPI_EVENT_SS_USSD_IND This is an unsolicited USSD indication TelSsUssdMsgInfo_t No Status associated with this event
TAPI_EVENT_SS_USSD_IND_NOTIFY This event is an unsolicited USSD notification TelSsInfo_t No Status associated with this event
SIM Class Events
TAPI Event Type Description Associated Event Data/Payload Structures Asynchronous Response Status
TAPI_EVENT_ SIM_FILE_INFO_CNF SIM elementary file information is returned TelSimFileInfo_t TelSimAccessResult_t
TAPI_EVENT_ SIM_READ_FILE_CNF This event is returned along with Read file information TelSimReadFileData_t TelSimAccessResult_t
TAPI_EVENT_ SIM_UPDATE_FILE_CNF This event is returned along with Updated file information TelSimFileAccessGeneralResp_t TelSimAccessResult_t
TAPI_EVENT_ SIM_VERIFY_PIN_CNF This confirmation event is returned when PIN is verified TelSimPinInfo_t TelSimPinOperationResult_t
TAPI_EVENT_ SIM_CHANGE_PIN_CNF This confirmation event is returned when PIN is changed TelSimPinInfo_t TelSimPinOperationResult_t
TAPI_EVENT_ SIM_DISABLE_PIN_CNF This confirmation event is returned when PIN is disabled TelSimPinInfo_t TelSimPinOperationResult_t
TAPI_EVENT_ SIM_ENABLE_PIN_CNF This confirmation event is returned when PIN is enabled TelSimPinInfo_t TelSimPinOperationResult_t
TAPI_EVENT_ SIM_UNBLOCK_PIN_CNF This confirmation event is returned on unblock PIN request TelSimPinInfo_t TelSimPinOperationResult_t
TAPI_EVENT_ SIM_ENABLE_FDN_CNF This event will be returned when FDN is enabled No Data associated with this event TelSimPinOperationResult_t
TAPI_EVENT_ SIM_DISABLE_FDN_CNF This event will be returned when FDN is disabled No Data associated with this event TelSimPinOperationResult_t
TAPI_EVENT_ SIM_PB_STORAGE_COUNT_CNF This event is notified for 2G Phone book storage count query TelSimPbStorageInfo_t TelSimPbAccessResult_t
TAPI_EVENT_ SIM_PB_ENTRY_INFO_CNF Phone book entry information TelSimPbEntryInfo_t TelSimPbAccessResult_t
TAPI_EVENT_ SIM_PB_ACCESS_READ_CNF This event is returned when phone book entry is read TelSimPbReadResp_t TelSimPbAccessResult_t
TAPI_EVENT_ SIM_PB_UPDATE_CNF This event is returned once phonebook update is completed TelSimPbUpdateResp_t TelSimPbAccessResult_t
TAPI_EVENT_ SIM_PB_DELETE_CNF This event is returned once phonebook record is deleted TelSimPbUpdateResp_t TelSimPbAccessResult_t
TAPI_EVENT_SIM_STATUS_IND This event is sent whenever there is a change in the SIM status.

Application can call GetPinStatus/GetEccInfo/GetICCIDInfo APIs based on SIM state.

For example, if Sim state is PIN required, application can call getpinstatus to know whether pin/upin is enabled/blocked.

TelSimCardStatus_t No Status associated with this event
TAPI_EVENT_ SIM_FDN_STATUS_IND This event is to indicate the whenever FDN status is changed(disabled/enabled) Bool fdn_status.

(True: enabled, False:disabled)

No Status associated with this event
Error Class Events
TAPI Event Type Description Associated Event Data/Payload Structures Asynchronous Response Status
TAPI_EVENT_ERR_RESERVED1_IND This event is notified to application about some error has occurred at OEM and can be used for debugging purpose TelTapiErrorInfo_t No Status associated with this event
TAPI_EVENT_ERR_RESERVED2_IND This event is notified to application about some error has occurred at OEM and can be used for debugging purpose TelTapiErrorInfo_t No Status associated with this event
TAPI_EVENT_ERR_RESERVED3_IND This event is notified to application about some error has occurred at OEM and can be used for debugging purpose TelTapiErrorInfo_t No Status associated with this event
TAPI_EVENT_ERR_RESERVED4_IND This event is notified to application about some error has occurred at OEM and can be used for debugging purpose TelTapiErrorInfo_t No Status associated with this event
TAPI_EVENT_ERR_RESERVED5_IND This event is notified to application about some error has occurred at OEM and can be used for debugging purpose TelTapiErrorInfo_t No Status associated with this event
UTILITY Class Events
TAPI Event Type Description Associated Event Data/Payload Structures Asynchronous Response Status
TAPI_EVENT_TUNNEL_INFO_CNF This confirmation event is returned for Tunnel information TelTapiTunnelInfo_t

Tunnel status is a Boolean.

Success (1-True) or Failure (0-False) indicates asynchronous return

TAPI_EVENT_TUNNEL_INFO_IND This event is an unsolicited event informing about Tunnel information TelTapiTunnelInfo_t No Status associated with this event

2.7 Mapping of LiMo Event Ids and Unsolicited TAPI Events

The table below indicates the unsolicited TAPI events and their corresponding LiMo event ids. Some of these event ids can be used for auto-launch purposes.

LiMo Telephony Event Ids TAPI Event
Telephony.Network.ChangeInd TAPI_EVENT_NETWORK_CHANGE_IND
Telephony.Network.SearchInd TAPI_EVENT_NETWORK_SEARCH_IND
Telephony.Network.RadioinfoInd TAPI_EVENT_NETWORK_RADIO_INFO_IND
Telephony.Nettext.IncomingInd TAPI_EVENT_NETTEXT_INCOM_IND
Telephony.Nettext.CbIncomingInd TAPI_EVENT_NETTEXT_CB_INCOM_IND
Telephony.Nettext.MemoryStatusInd TAPI_EVENT_NETTEXT_MEMORY_STATUS_IND
Telephony.Call.Voice.IncomingInd TAPI_EVENT_CALL_INCOM_IND
Telephony.Ss.UssdInd TAPI_EVENT_SS_USSD_IND
Telephony.Ss.UssdIndNotify TAPI_EVENT_SS_USSD_IND_NOTIFY
Telephony.Sim.SimStatusInd TAPI_EVENT_SIM_STATUS_IND
Telephony.Sim.FdnStatusInd TAPI_EVENT_SIM_FDN_STATUS_IND
Telephony.Err.ErrInd1 TAPI_EVENT_ERR_RESERVED1_IND
Telephony.Err.ErrInd2 TAPI_EVENT_ERR_RESERVED2_IND
Telephony.Err.ErrInd3 TAPI_EVENT_ERR_RESERVED3_IND
Telephony.Err.ErrInd4 TAPI_EVENT_ERR_RESERVED4_IND
Telephony.Err.ErrInd5 TAPI_EVENT_ERR_RESERVED5_IND
Telephony.Util.TunnelInfoInd TAPI_EVENT_TUNNEL_INFO_IND

3.0 Industry Standard

None

4.0 External API Documents

None

5.0 Plug-in Extension Point Interface

None

6.0 Other Interfaces

None

7.0 Other Notes

None
Generated on Mon Mar 31 01:01:00 2008 by  doxygen 1.5.4