This document provides development guidelines related to the telephony subsystem, including modem vendor library integration, initialization, service request responding, and modem event reporting. It is intended as a reference for developers of different modem chips, helping them efficiently develop telephony service-related functions.
Telephony Service: core service layer of the telephony subsystem. Its main functions are as follows:
RIL Adapter: RIL adaptation layer of the Telephony subsystem. This layer provides functions such as vendor library loading and service API implementation. It shields the differences of modems supplied by different vendors to provide a unified API for the telephony service layer. It communicates with the telephony service layer by registering the Hardware Driver Foundation (HDF) service.
HDF: Hardware Driver Foundation, which allows for unified access from peripheral devices and provides a framework for driver development and management.
hdc_std: OpenHarmony Device Connector, a command line tool provided by OpenHarmony for developers to debug device connectivity.
Figure 1 RIL Adapter architecture
As shown in the preceding figure, RIL Adapter is logically divided into three layers: hril_hdf, hril, and vendorlib.
hril_hdf: unique entry of RIL Adapter. The main function of this layer is to load modem vendor library files. Wherein, modem_adapter enables a single firmware to adapt to different modems.
Specifically, hril_hdf obtains the modem type from the kernel and then loads the target modem vendor library based on the modem type.
hril: OpenHarmony Radio Interface Layer, which provides APIs for communication between the vendorlib and various Telephony Service modules, including the SIM card, network search, cellular call, cellular data, and SMS/MMS modules.
vendorlib: Modem vendor library file. Different modem vendor libraries are developed based on standard APIs or service request IDs provided by RIL Adapter. (vendorlib is provided by modem vendors.)
After hril_hdf is executed, vendorlib is dynamically loaded so that it can obtain the pointers to the response processing and event reporting functions from hril_hdf. After this process is complete, hril_hdf can communicate with a modem through vendorlib.
Specifications
At least one modem must be supported by a device vendor. If no modem is supported, vendorlib APIs do not need to be implemented.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。