Skip to content

Commit 09aebf9

Browse files
docs: refactor and enhance telephony framework API documentation
Comprehensive refactor of the Telephony (TAPI) framework API reference following the openvela API documentation standard. Existing files (7, updated): added per-module openvela implementation notes and functional grouping (## headings); include paths standardized to <tapi_*.h> form. - telephony_manager.md (33 APIs, 10 groups) - telephony_call.md (32 APIs, 13 groups) - telephony_data.md (23 APIs, 9 groups) - telephony_network.md (20 APIs, 9 groups) - telephony_sim.md (20 APIs, 6 groups) - telephony_sms.md (13 APIs, 5 groups) - telephony_ims.md (9 APIs, 5 groups) New files (6) covering previously undocumented public headers: - telephony.md (21 utility APIs from tapi.h) - telephony_phone.md (20 APIs from tapi_phone.h) - telephony_ss.md (22 supplementary service APIs from tapi_ss.h) - telephony_stk.md (29 SIM Toolkit APIs from tapi_stk.h) - telephony_cbs.md (5 Cell Broadcast APIs from tapi_cbs.h) - telephony_phonebook.md (5 ADN/FDN APIs from tapi_phonebook.h) Updated index.md with categorized navigation for all 13 modules. Coverage: 252 / 252 public APIs (100%) across all 13 tapi_*.h headers. Quality fixes: - All non-void APIs have a **返回值** section - All APIs have a **参数** section - No Doxygen or Sphinx directives remain - Every referenced tapi_* function and type has been verified against the source headers in frameworks/connectivity/telephony/include/
1 parent 69a1e5e commit 09aebf9

14 files changed

Lines changed: 5314 additions & 148 deletions
Lines changed: 80 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,118 +1,111 @@
1-
# Telephony
1+
# Telephony API
22

3-
Telephony 提供蜂窝通信能力,framework/telephony 是 openvela 蜂窝通信对应用层提供的接口层,又称为 TAPI(Telephony API)。封装的接口涵盖了蜂窝通信业务:网络服务、通话、短信、数据、SIM 双卡和 modem 配置管理等。
3+
Telephony 提供蜂窝通信能力,`framework/telephony` 是 openvela 蜂窝通信对应用层提供的接口层,又称为 TAPI(Telephony API)。封装的接口涵盖了蜂窝通信业务:网络服务、通话、短信、数据、SIM 双卡和 modem 配置管理等。
44

5-
TAPI 独立于 openvela telephony core stack,内部逻辑基于 DBUS LIB 对 Core Stack 进行业务逻辑封装,屏蔽掉 D-BUS 的复杂操作,对外以标准 C 的方式提供标准化统一的 Telephony API 接口定义,方便 openvela 应用层 APP 的使用,让 openvela APP 实现 openvela 系统版本间复用。
5+
TAPI 独立于 openvela telephony core stack,内部逻辑基于 DBUS LIB 对 Core Stack 进行业务逻辑封装,屏蔽掉 D-Bus 的复杂操作,对外以标准 C 的方式提供标准化统一的 Telephony API 接口定义,方便 openvela 应用层 APP 的使用,让 openvela APP 实现 openvela 系统版本间复用。
66

7-
## 一、模块代码介绍
7+
## openvela 实现说明
88

9-
| 模块 | 文件 | 说明 |
10-
| :------------- | :------------------------ | :-------------------- |
11-
| 对外统一头文件 | tapi.h | 公共与 utils 接口定义 |
12-
| Radio 接口 | tapi_manager.c/h | Telephony 公共接口 |
13-
| Call 接口 | tapi_call.c/h tapi_ss.c/h | 通话管理接口 |
14-
| Network 接口 | tapi_network.c/h | 网络注册接口 |
15-
| Data 接口 | tapi_data.c/h | 数据服务接口 |
16-
| SIM 接口 | tapi_sim.c/h tapi_stk.c/h | 卡和 STK 接口 |
17-
| SMS 接口 | tapi_sms.c/h | 短信管理接口 |
18-
| IMS 接口 | tapi_ims.c/h | IMS 服务接口 |
9+
- **架构**:TAPI 基于 D-Bus 对 Telephony Core Stack(oFono)进行封装,以标准 C 接口对外提供
10+
- **多卡支持**:通过 `slot_id` 参数区分不同 SIM 卡槽
11+
- **异步模型**:大部分操作通过回调函数异步返回结果
1912

20-
## 二、TAPI 配置
13+
## 模块代码介绍
2114

22-
完整的 Telephony 业务涉及模块众多,需要所有模块开启完整使用 Telephony 业务:
15+
| 模块 | 源码 | API 文档 | 说明 |
16+
| :--- | :--- | :--- | :--- |
17+
| 对外统一头文件 | `tapi.h` | [公共工具](telephony.md) | 公共类型定义、字符串/枚举转换 utils |
18+
| Radio 接口 | `tapi_manager.c/h` | [管理](telephony_manager.md) | Telephony 初始化、状态查询、事件注册 |
19+
| Call 接口 | `tapi_call.c/h` | [通话](telephony_call.md) | 语音通话控制 |
20+
| 补充业务 | `tapi_ss.c/h` | [补充业务 SS](telephony_ss.md) | 呼叫转移/呼叫限制/呼叫等待/CLIR/USSD |
21+
| 简化电话服务 | `tapi_phone.c/h` | [简化电话服务](telephony_phone.md) | 轻量客户端封装 |
22+
| Network 接口 | `tapi_network.c/h` | [网络](telephony_network.md) | 网络注册、信号、运营商 |
23+
| Data 接口 | `tapi_data.c/h` | [数据](telephony_data.md) | 蜂窝数据连接 |
24+
| SIM 接口 | `tapi_sim.c/h` | [SIM 卡](telephony_sim.md) | SIM 卡管理 |
25+
| SIM Toolkit | `tapi_stk.c/h` | [SIM Toolkit](telephony_stk.md) | STK Agent 与 SIM 卡主动命令 |
26+
| 电话簿 | `tapi_phonebook.c/h` | [电话簿](telephony_phonebook.md) | ADN/FDN 电话簿管理 |
27+
| SMS 接口 | `tapi_sms.c/h` | [短信](telephony_sms.md) | 短信收发 |
28+
| Cell Broadcast | `tapi_cbs.c/h` | [小区广播 CBS](telephony_cbs.md) | 小区广播消息 |
29+
| IMS 接口 | `tapi_ims.c/h` | [IMS](telephony_ims.md) | VoLTE/VoWiFi |
2330

24-
- DBUS 配置
31+
## TAPI 配置
2532

26-
```
27-
CONFIG_DBUS_DAEMON=y
28-
CONFIG_DBUS_MONITOR=y
29-
CONFIG_DBUS_SEND=y
30-
CONFIG_LIB_DBUS=y
31-
```
33+
完整的 Telephony 业务涉及模块众多,需要所有模块开启完整使用 Telephony 业务。
3234

33-
- GLIB 配置
35+
**DBUS 配置**
3436

35-
```
36-
CONFIG_LIB_GLIB=y
37-
```
38-
39-
- OFONO 配置
40-
41-
```
42-
CONFIG_LIB_ELL=y
43-
CONFIG_OFONO=y
44-
CONFIG_OFONO_RILMODEM=y //modem类型选择,支持rild的选择rilmodem
45-
CONFIG_OFONO_ATMODEM=y //支持串口、USB的选择atmodem
46-
```
47-
48-
- GDBUS 配置
49-
50-
```
51-
CONFIG_LIB_DBUS=y
52-
```
37+
```kconfig
38+
CONFIG_DBUS_DAEMON=y
39+
CONFIG_DBUS_MONITOR=y
40+
CONFIG_DBUS_SEND=y
41+
CONFIG_LIB_DBUS=y
42+
```
5343

54-
- Telephony API 配置
44+
**GLIB 配置**
5545

56-
```
57-
CONFIG_TELEPHONY=y
58-
CONFIG_TELEPHONY_TOOL=y //debug工具,可选
59-
```
46+
```kconfig
47+
CONFIG_LIB_GLIB=y
48+
```
6049

61-
## 三、TAPI 工作使用模型
50+
**OFONO 配置**
6251

63-
![TAPIWork](figures/TapiWork.png)
52+
```kconfig
53+
CONFIG_LIB_ELL=y
54+
CONFIG_OFONO=y
55+
CONFIG_OFONO_RILMODEM=y # modem 类型选择,支持 rild 的选择 rilmodem
56+
CONFIG_OFONO_ATMODEM=y # 支持串口、USB 的选择 atmodem
57+
```
6458

59+
**GDBUS 配置**
6560

66-
## 四、TAPI 函数使用举例
61+
```kconfig
62+
CONFIG_LIB_DBUS=y
63+
```
6764

68-
1. 获取 TAPI 工作上下文
65+
**Telephony API 配置**
6966

70-
先声明一个 callback 函数:
67+
```kconfig
68+
CONFIG_TELEPHONY=y
69+
CONFIG_TELEPHONY_TOOL=y # debug 工具,可选
70+
```
7171

72-
```c
73-
static void on_tapi_client_ready(const char* client_name, void* user_data)
74-
{
75-
if (client_name != NULL)
76-
syslog(LOG_DEBUG, "tapi is ready for %s\n", client_name);
77-
...
78-
}
79-
```
72+
## TAPI 工作使用模型
8073

81-
再调用 tapi_open 函数获取上下文。获取成功需要 oFono、DBus 等服务启动成功,当 ready 后会调用 callback 函数。
74+
![TAPIWork](figures/TapiWork.png)
8275

83-
```c
84-
tapi_context context;
85-
char* dbus_name = "vela.telephony.tool";
86-
context = tapi_open(dbus_name, on_tapi_client_ready, NULL);
87-
```
76+
## TAPI 函数使用举例
8877

89-
2. 释放 TAPI 工作上下文
78+
### 获取 TAPI 工作上下文
9079

91-
```c
92-
tapi_close(context);
93-
```
80+
先声明一个 callback 函数:
9481

95-
3. 查询当前的 radio power 状态
82+
```c
83+
static void on_tapi_client_ready(const char* client_name, void* user_data)
84+
{
85+
if (client_name != NULL)
86+
syslog(LOG_DEBUG, "tapi is ready for %s\n", client_name);
87+
...
88+
}
89+
```
9690
97-
```c
98-
int slot_id = 0;
99-
bool value = false;
100-
tapi_get_radio_power(context, slot_id, &value);
101-
```
91+
再调用 `tapi_open` 函数获取上下文。获取成功需要 oFono、D-Bus 等服务启动成功,当 ready 后会调用 callback 函数。
10292
103-
## 五、TAPI 列表
93+
```c
94+
tapi_context context;
95+
char* dbus_name = "vela.telephony.tool";
96+
context = tapi_open(dbus_name, on_tapi_client_ready, NULL);
97+
```
10498

105-
```eval_rst
99+
### 释放 TAPI 工作上下文
106100

107-
.. toctree::
108-
:maxdepth: 2
101+
```c
102+
tapi_close(context);
103+
```
109104
110-
telephony_manager
111-
telephony_call
112-
telephony_data
113-
telephony_ims
114-
telephony_network
115-
telephony_sim
116-
telephony_sms
105+
### 查询当前的 radio power 状态
117106
107+
```c
108+
int slot_id = 0;
109+
bool value = false;
110+
tapi_get_radio_power(context, slot_id, &value);
118111
```

0 commit comments

Comments
 (0)