openvela call 命令
一、概述
在 openvela 的 NSH 命令行中,可以通过进入 telephonytool 命令工具的 Console,来执行所有与呼叫控制相关的操作。
二、前提条件
确保已打开 telephonytool,执行如下命令:
ap> telephonytool
三、命令
1、listen-call
命令说明
listen-call 用于监听呼叫状态变化、紧急号码变化以及回铃音变化等信息。
命令格式
listen-call [slot_id][event_id]
- slot_id: 设置要监听的插槽,目前仅支持 0。
- event_id:
- 0: 呼叫状态变化(call state change)。
- 1: 紧急号码列表变化(ecc list change)。
- 2: 回铃音变化(ringback tone change)。
示例
命令输入
telephonytool> listen-call 0 1
输出信息
telephonytool> listen-call 0 1
[12797.466700] [28] [ DEBUG] [ap] telephonytool_cmd_listen_call_manager_change, slot_id : 0, event_id : 1, watch_id : 95
2、unlisten-call
命令说明
unlisten-call 用于取消监听呼叫状态变化、紧急号码变化以及回铃音变化等信息。
命令格式
unlisten-call [watch_id]
- watch_id: 对应 listen-call 命令的返回值,用于标识需要取消监听的事件。
示例
命令输入
telephonytool> unlisten-call 95
输出信息
telephonytool> unlisten-call 95
[12820.712800] [28] [ DEBUG] [ap] stop to watch call event with watch_id : 95 with return value : 0
3、listen-call-slot-change
命令说明
listen-call-slot-change 用于监听呼叫插槽(call slot)的变化。
命令格式
listen-call-slot-change
示例
命令输入
telephonytool> listen-call-slot-change
输出信息
telephonytool> listen-call-slot-change
[12935.086700] [28] [ DEBUG] [ap] telephonytool_cmd_listen_call_slot_change, , watch_id : 96
4、dial
命令说明
dial 命令用于发起电话请求。
命令格式
dial [slot_id][number][hide_call_id]
- slot_id: 设置要使用的插槽,目前仅支持 0。
- number: 要拨打的电话号码。
- hide_call_id: 是否隐藏本机号码:
- 0: 显示本机号码(show)。
- 1: 隐藏本机号码(hide)。
示例
命令输入
telephonytool> dial 0 10086 0
输出信息
telephonytool> dial 0 10086 0
[13153.728500] [28] [ DEBUG] [ap] telephonytool_cmd_dial, slot_id: 0 number: 10086 hide_callerid: 0
[13153.730700] [28] [ DEBUG] [ap] OFONO_DFX_CALL_INFO:1,1,1,0,NA
[13170.772100] [21] [ INFO] [ap] [0,0087]> RIL_REQUEST_DIAL (***,0,0,0)
5、answer_0
命令说明
接听来电
命令格式
answer_0 [slot_id] [call_id]
slot_id:设置要监听的slot,当前只支持0
call_id:来电的call id信息
示例
命令输入
telephonytool> answer_0 0 /ril_0/voicecall01
输出信息
telephonytool> answer_0 0 /ril_0/voicecall01
[ 187.166200] [28] [ DEBUG] [ap] telephonytool_cmd_answer_by_id, slotId : 0
6、hangup_0
命令说明
hangup_0 命令用于挂断电话。
命令格式
hangup_0 [slot_id][call_id]
- slot_id: 设置要使用的插槽,目前仅支持 0。
- call_id: 呼叫的 ID 信息,用于指定要挂断的电话。
示例
命令输入
telephonytool> hangup_0 0 /ril_0/voicecall01
输出信息
telephonytool> hangup_0 0 /ril_0/voicecall01
[ 309.834700] [28] [ DEBUG] [ap] telephonytool_cmd_hangup_by_id, slotId : 0
7、release_and_answer
命令说明
release_and_answer 命令用于释放当前正在进行的电话,并接通最新的来电。
命令格式
release_and_answer [slot_id]
- slot_id: 设置要使用的插槽,目前仅支持 0。
示例
命令输入
telephonytool> release_and_answer 0
输出信息
telephonytool> release_and_answer 0
[55124.855300] [28] [ DEBUG] [ap] telephonytool_cmd_release_and_answer_call, slotId : 0
8、hold_and_answer
命令说明
hold_and_answer 命令用于将当前正在进行的电话置于保持状态,并接通最新的来电。
命令格式
hold_and_answer [slot_id]
- slot_id: 设置要使用的插槽,目前仅支持 0。
示例
命令输入
telephonytool> hold_and_answer 0
输出信息
telephonytool> hold_and_answer 0
[57690.627700] [28] [ DEBUG] [ap] telephonytool_cmd_hold_and_answer_call, slotId : 0
[57690.628200] [28] [ DEBUG] [ap] OFONO_DFX_CALL_INFO:1,2,1,0,NA:HoldAndAnswer
9、release_and_swap
命令说明
release_and_swap 命令用于挂断当前正在进行的通话,并将处于保持状态的通话切换为活动通话。
命令格式
release_and_swap [slot_id]
- slot_id: 设置要使用的插槽,目前仅支持 0。
示例
命令输入
telephonytool> release_and_swap 0
输出信息
release_and_swap 0
[57714.464400] [28] [ DEBUG] [ap] telephonytool_cmd_release_and_swap_call, slotId : 0
telephonytool> [57714.489500] [21] [ INFO] [ap] [0,0087]> RIL_REQUEST_HANGUP_FOREGROUND_RESUME_BACKGROUND
[57714.493900] [15] [ INFO] [ap] [AT_RIL] onRequest: 14<->HANGUP_FOREGROUND_RESUME_BACKGROUND, reqtype: 2
[57714.502300] [21] [ INFO] [ap] [0,0087]< RIL_REQUEST_HANGUP_FOREGROUND_RESUME_BACKGROUND
10、swap
命令说明
切换call的状态,从active call切换hold call或者从hold call切换到active call
swap 命令用于切换通话状态:
- 从活动通话(active call)切换到保持通话(hold call)。
- 或从保持通话(hold call)切换到活动通话(active call)。
命令格式
swap [slot_id][action]
- slot_id: 设置要使用的插槽,目前仅支持 0。
- action: 指定切换操作:
- 1: 切换到保持通话(hold call)。
- 0: 切换到活动通话(unhold call)。
示例
命令输入
telephonytool> swap 0 1
输出信息
telephonytool> swap 0 1
[57750.186200] [28] [ DEBUG] [ap] telephonytool_cmd_swap_call, slotId : 0
telephonytool> [57750.211600] [21] [ INFO] [ap] [0,0089]> RIL_REQUEST_SWITCH_HOLDING_AND_ACTIVE
[57750.215900] [15] [ INFO] [ap] [AT_RIL] onRequest: 15<->SWITCH_WAITING_OR_HOLDING_AND_ACTIVE, reqtype: 2
[57750.218900] [21] [ INFO] [ap] [0,0089]< RIL_REQUEST_SWITCH_HOLDING_AND_ACTIVE
11、hangup-all
命令说明
hangup-all 命令用于挂断所有存在的通话,包括后台通话(background call)。
命令格式
hangup-all [slot_id]
- slot_id: 设置要使用的插槽,目前仅支持 0。
示例
命令输入
telephonytool> hangup-all 0
输出信息
telephonytool> hangup-all 0
[57768.041500] [28] [ DEBUG] [ap] telephonytool_cmd_hangup_all, slotId : 0
[57768.043500] [28] [ DEBUG] [ap] OFONO_DFX_CALL_INFO:4,3,3,0,NA
12、get-call
命令说明
get-call 命令用于获取当前所有通话的信息。
命令格式
get-call [slot_id]
- slot_id: 设置要使用的插槽,目前仅支持 0。
示例
命令输入
telephonytool> get-call 0
输出信息
telephonytool> get-call 0
telephonytool_cmd_get_call
telephonytool> [57791.194300] [27] [ DEBUG] [ap] call_list_query_complete :
[57791.194600] [27] [ DEBUG] [ap] call count: 1
[57791.194900] [27] [ DEBUG] [ap] call id: /ril_0/voicecall03
[57791.195300] [27] [ DEBUG] [ap] call state: 2
[57791.195500] [27] [ DEBUG] [ap] call LineIdentification: 10086
[57791.195900] [27] [ DEBUG] [ap] call IncomingLine:
[57791.196200] [27] [ DEBUG] [ap] call Name:
[57791.196500] [27] [ DEBUG] [ap] call StartTime:
[57791.196800] [27] [ DEBUG] [ap] call Multiparty: 0
[57791.197100] [27] [ DEBUG] [ap] call RemoteHeld: 0
[57791.197400] [27] [ DEBUG] [ap] call RemoteMultiparty: 0
[57791.197700] [27] [ DEBUG] [ap] call Information:
[57791.198000] [27] [ DEBUG] [ap] call Icon: 0
[57791.198200] [27] [ DEBUG] [ap] call Emergency: 0
13、transfer
命令说明
transfer 命令用于将当前正在进行的通话转移到另一个设备。此功能依赖网络支持。
命令格式
transfer [slot_id]
- slot_id: 设置要使用的插槽,目前仅支持 0。
示例
命令输入
telephonytool> transfer 0
输出信息
telephonytool> transfer 0
[57861.765100] [28] [ DEBUG] [ap] telephonytool_cmd_transfer_call, slotId : 0
14、get-ecclist
命令说明
get-ecclist 命令用于获取所有紧急号码的信息。
命令格式
get-ecclist [slot_id]
- slot_id: 设置要使用的插槽,目前仅支持 0。
示例
命令输入
telephonytool> get-ecclist 0
输出信息
telephonytool> get-ecclist 0
[57889.833100] [28] [ DEBUG] [ap] telephonytool_cmd_get_ecc_list, slotId : 0
[57889.835500] [28] [ DEBUG] [ap] tapi_call_get_ecc_list info:911,0,1
[57889.836900] [28] [ DEBUG] [ap] tapi_call_get_ecc_list info:112,0,1
[57889.838200] [28] [ DEBUG] [ap] ecc number : 911,0,1
[57889.839500] [28] [ DEBUG] [ap] ecc number : 112,0,1
15、is-ecc
命令说明
is-ecc 命令用于检查某个电话号码是否为紧急号码。
命令格式
is-ecc [number]
- number: 要检查的电话号码。
示例
命令输入
telephonytool> is-ecc 110
输出信息
telephonytool> is-ecc 110
[57906.267200] [28] [ DEBUG] [ap] tapi_call_get_ecc_list info:911,0,1
[57906.269300] [28] [ DEBUG] [ap] tapi_call_get_ecc_list info:112,0,1
[57906.270700] [28] [ DEBUG] [ap] telephonytool_cmd_is_emergency_number, ret : -1
16、send-tones
命令说明
send-tones 命令用于发送预置的 DTMF(Dual-Tone Multi-Frequency)命令。
命令格式
send-tones [slot_id][dtmf]
- slot_id: 设置要使用的插槽,目前仅支持 0。
- dtmf: 要发送的数字(DTMF 信号)。
示例
命令输入
telephonytool> send-tones 0 11
输出信息
telephonytool> send-tones 0 11
[58031.748600] [28] [ DEBUG] [ap] telephonytool_cmd_send_tones, slotId : 0 dtmf : 11
17、start-dtmf
命令说明
start-dtmf 命令用于在通话过程中发送单个 DTMF(Dual-Tone Multi-Frequency)信号。
命令格式
start-dtmf [slot_id][dtmf]
- slot_id: 设置要使用的插槽,目前仅支持 0。
- dtmf: 要发送的数字(DTMF 信号)。
示例
命令输入
telephonytool> start-dtmf 0 1
输出信息
telephonytool> start-dtmf 0 1
[58070.442600] [28] [ DEBUG] [ap] telephonytool_cmd_start_dtmf, slotId : 0 dtmf : 1
telephonytool> [58070.453600] [21] [ INFO] [ap] [0,0104]> RIL_REQUEST_DTMF_START (1)
[58070.454400] [15] [ INFO] [ap] [AT_RIL] onRequest: 49<->DTMF_START, reqtype: 2
[58070.455100] [21] [ INFO] [ap] [0,0104]< RIL_REQUEST_DTMF_START
[58070.458000] [27] [ DEBUG] [ap] tele_call_async_fun :
[58070.458200] [27] [ DEBUG] [ap] result->msg_id : 114
[58070.458300] [27] [ DEBUG] [ap] result->status : 0
[58070.458500] [27] [ DEBUG] [ap] result->arg1 : 0
[58070.458600] [27] [ DEBUG] [ap] result->arg2 : 6750472
[58070.458800] [27] [ DEBUG] [ap] start dtmf , state : 0
18、stop-dtmf
命令说明
stop-dtmf 命令用于在通话过程中停止发送 DTMF(Dual-Tone Multi-Frequency)信号。
命令格式
stop-dtmf [slot_id]
- slot_id: 设置要使用的插槽,目前仅支持 0。
示例
命令输入
telephonytool> stop-dtmf 0
输出信息
stop-dtmf 0
[58082.923500] [28] [ DEBUG] [ap] telephonytool_cmd_stop_dtmf, slotId : 0
telephonytool> [58082.933700] [21] [ INFO] [ap] [0,0105]> RIL_REQUEST_DTMF_STOP
[58082.934400] [15] [ INFO] [ap] [AT_RIL] onRequest: 50<->DTMF_STOP, reqtype: 2
[58082.935100] [21] [ INFO] [ap] [0,0105]< RIL_REQUEST_DTMF_STOP
[58082.938100] [27] [ DEBUG] [ap] tele_call_async_fun :
[58082.938200] [27] [ DEBUG] [ap] result->msg_id : 115
[58082.938400] [27] [ DEBUG] [ap] result->status : 0
[58082.938500] [27] [ DEBUG] [ap] result->arg1 : 0
[58082.938700] [27] [ DEBUG] [ap] result->arg2 : 0
[58082.938800] [27] [ DEBUG] [ap] stop dtmf , state : 0

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐
所有评论(0)