Telematics SDK - Interface Specification
v1.15.0
|
The Telematics library runs in the user space of the Linux system. It interacts with Telephony services and other sub-systems to provide various services like phone calls, SMS etc. These services are exposed by the SDK through fixed public APIs that are available on all Telematics platforms that support SDK. The Telematics APIs are grouped into the following functional modules:
Telephony
Telephony sub-system consists of APIs for functions related to Phone, Call, SMS and Signal Strength, Network Selection and Serving System Management.
SIM Card Services
SIM Card services sub-system consists of APIs to perform SIM card operations such as Send APDU messages to SIM card applications, SIM Access Profile(SAP) operations etc.
Location Services
Location Services sub-system consists of APIs to receive location details such as GNSS Positions, Satellite Vehicle information etc.
Connection Management
Connection Management sub-system consists of APIs for establishing Cellular WAN/ Backhaul connection sessions and for Connection Profile Management etc.
Audio Management
Audio Management sub-system consists of APIs for Audio management such as setting up audio streams, switching devices on streams, apply volume/mute etc
Telematics SDK classes can be broadly divided into the following types:
Telematics SDK provides APIs for the following features:
CallManager, Phone and PhoneManager APIs of Telematics SDK provides call related control operations such as
CallManager and PhoneManager also provides additional functionality such as
SMS Manager APIs of Telematics SDK provides SMS related functionality such as
The SIM Card operations are performed by CardManager and SapCardManager.
CardManager APIs of Telematics SDK perform operations on UICC card such as
SapCardManager APIs provides SIM Access Profile(SAP) related functionality such as
Phone APIs of Telematics SDK provides phone related information such as
Location Services APIs of Telematics SDK provide the mechanism to register listener and to receive location updates and satellite vehicle information. Following parameters are configurable through the APIs.
Data Services APIs in the Telematics SDK used for cellular connectivity and modem profile management.
Data Connection Manager APIs provide functionality such as
Data Profile Manager APIs provide functionality such as
Network Selection and Service System Management APIs in the Telematics SDK used for configuring the networks and preferences
Network Selection Manager APIs provide functionality such as
Serving System Manager APIs provide functionality such as
The C-V2X sub-system contains APIs that support Cellular-V2X operation.
Cellular-V2X APIs in the Telematics SDK include Cv2xRadioManager and Cv2xRadio interfaces.
Cv2xRadioManager provides an interface to a C-V2X capable modem. The API includes methods for
Cv2xRadio abstracts a C-V2X radio channel. The API includes methods for
The Audio subSystem contains of APIs that support Audio operation.
Audio APIs in the Telematics SDK include AudioManager, AudioStream, AudioVoiceStream interfaces.
AudioManager provides an interface for creation/deletion of audio stream. The API includes methods for
AudioStream abstracts the properties common to different stream types. The API includes methods for
AudioVoiceStream along with inheriting AudioStream, provides additional APIs to manage voice call session as stated below.
Audio SDK provides details of Supported "Device Types" and "Stream Types" in the Audio subSystem of Reference Telematics platform.
“Device Type” encapsulates the type of device supported in Reference Telematics platform. The representation of these devices would be made available via public header file <usr/include/telux/audio/AudioDefines.hpp>.
Example: DEVICE_TYPE_XXXX
Internally SDK Device Type mapped to Audio HAL devices as per <usr/include/system/audio.h>.
In current release is mapped per below table, in future releases of SDK it will be made configurable. This configurability provides flexibility to map different Audio HAL devices to SDK representation.
Current Device Mapping Table:
SDK Audio Device Representation | Audio HAL Representation |
---|---|
DEVICE_TYPE_SPEAKER | AUDIO_DEVICE_OUT_SPEAKER |
DEVICE_TYPE_MIC | AUDIO_DEVICE_IN_BACK_MIC |
For any stream types, maximum device supported would be one. Single stream per multiple devices not supported. For voice stream Rx Device would decide corresponding Tx Device pair as decided by Audio HAL.
NOTE FOR SYSTEM INTEGRATORS:
The mapping of Audio devices to Audio HAL devices is static currently based on QTI's Reference Telematics platform. For custom platforms this mapping need to be updated.
“Stream Type” encapsulates the type of stream supported in Reference Telematics Platform. The representation of these stream types made available via public header file <usr/include/telux/audio/AudioDefines.hpp>.
Example: VOICE_CALL, PLAY, CAPTURE etc
Volume Support Table:
This table captures scenarios where the volume could be modified.
Stream Type | Stream Direction (RX) | Stream Direction (Tx) |
---|---|---|
VOICE_CALL | Applicable | Not Applicable |
PLAY | Applicable | Not Applicable |
CAPTURE | Not Applicable | Applicable |
Mute Support Table:
This table captures when stream could be muted and in which direction.
Stream Type | Stream Direction (RX) | Stream Direction (Tx) |
---|---|---|
VOICE_CALL | Applicable | Applicable |
PLAY | Applicable | Not Applicable |
CAPTURE | Not Applicable | Applicable |