T-Box Basic dev
Loading...
Searching...
No Matches
voice.h File Reference

T-Box 语音和 eCall 接口 More...

#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  tbox_voice_dial_request_t
 拨号请求。 More...
struct  tbox_call_event_t
 通话状态事件。 More...
struct  tbox_ecall_request_t
 eCall 启动请求。 More...
struct  tbox_ecall_event_t
 eCall 状态事件。 More...
struct  tbox_voice_event_t
 语音事件。 More...

Macros

#define TBOX_RIL_PHONE_NUMBER_MAX   32U
 包含结尾 NUL 的电话号码容量
#define TBOX_RIL_ECALL_MSD_MAX   140U
 eCall MSD 最大字节数

Typedefs

typedef void(* tbox_voice_callback_t) (const tbox_voice_event_t *event, void *context)
 语音事件回调。

Enumerations

enum  tbox_call_status_t {
  TBOX_CALL_UNKNOWN = 0 , TBOX_CALL_DIALING = 1 , TBOX_CALL_ALERTING = 2 , TBOX_CALL_INCOMING = 3 ,
  TBOX_CALL_ACTIVE = 4 , TBOX_CALL_HELD = 5 , TBOX_CALL_ENDED = 6 , TBOX_CALL_WAITING = 7
}
 通话状态。 More...
enum  tbox_call_type_t { TBOX_CALL_VOICE = 0 , TBOX_CALL_EMERGENCY = 1 }
 通话类别。 More...
enum  tbox_ecall_trigger_t { TBOX_ECALL_AUTOMATIC = 0 , TBOX_ECALL_MANUAL = 1 }
 eCall 触发方式。 More...
enum  tbox_ecall_variant_t { TBOX_ECALL_TEST = 0 , TBOX_ECALL_EMERGENCY = 1 , TBOX_ECALL_RECONFIGURE = 2 }
 eCall 呼叫类型。 More...
enum  tbox_ecall_number_type_t { TBOX_ECALL_TEST_NUMBER = 0 , TBOX_ECALL_TEST_URI = 1 }
 eCall 测试号码类型。 More...
enum  tbox_voice_slot_t { TBOX_VOICE_SLOT_1 = 0 , TBOX_VOICE_SLOT_2 = 1 , TBOX_VOICE_EMBEDDED = 2 , TBOX_VOICE_REMOTE = 3 }
 语音卡槽。 More...
enum  tbox_voice_audio_mode_t { TBOX_VOICE_AUDIO_CODEC = 0 , TBOX_VOICE_AUDIO_RTP = 1 }
 音频承载方式。 More...
enum  tbox_ecall_status_t {
  TBOX_ECALL_UNKNOWN = 0 , TBOX_ECALL_STARTING = 1 , TBOX_ECALL_SENDING_MSD = 2 , TBOX_ECALL_MSD_ACKNOWLEDGED = 3 ,
  TBOX_ECALL_DIALING = 4 , TBOX_ECALL_ALERTING = 5 , TBOX_ECALL_ACTIVE = 6 , TBOX_ECALL_DISCONNECTED = 7 ,
  TBOX_ECALL_FAILED = 8 , TBOX_ECALL_CALLBACK = 9 , TBOX_ECALL_LLACK_RECEIVED = 10 , TBOX_ECALL_CLEARDOWN_RECEIVED = 11 ,
  TBOX_ECALL_MSD_NOT_ACKNOWLEDGED = 12 , TBOX_ECALL_UPDATE_MSD = 13 , TBOX_ECALL_IN_BAND_TRANSFER = 14 , TBOX_ECALL_SRVCC = 15 ,
  TBOX_ECALL_ONLY_DEREGISTRATION = 16 , TBOX_ECALL_MAY_DEREGISTER = 17 , TBOX_ECALL_CALLBACK_UPDATE_MSD = 18 , TBOX_ECALL_SENDING_START_IN_VOICE = 19 ,
  TBOX_ECALL_T2_TIMEOUT = 20 , TBOX_ECALL_T5_TIMEOUT = 21 , TBOX_ECALL_T6_TIMEOUT = 22 , TBOX_ECALL_T7_TIMEOUT = 23 ,
  TBOX_ECALL_REDIAL_TIMEOUT = 24 , TBOX_ECALL_AUTO_ANSWER_TIMEOUT = 25 , TBOX_ECALL_START_SUCCEEDED = 26 , TBOX_ECALL_START_FAILED = 27 ,
  TBOX_ECALL_START_NO_RETRY = 28
}
 eCall 状态。 More...
enum  tbox_voice_event_type_t { TBOX_VOICE_EVENT_CALL = 1 , TBOX_VOICE_EVENT_ECALL = 2 }
 语音事件类别。 More...

Functions

int tbox_voice_register_callback (tbox_voice_callback_t callback, void *context)
 注册语音事件回调。
int tbox_voice_unregister_callback (void)
 注销语音事件回调。
int tbox_voice_dial (const tbox_voice_dial_request_t *request, uint32_t *call_id)
 发起通话。
int tbox_voice_answer (uint32_t call_id)
 接听通话。
int tbox_voice_hangup (uint32_t call_id)
 挂断通话。
int tbox_voice_switch_active (void)
 切换活动通话。
int tbox_voice_send_dtmf (char digit)
 发送 DTMF。
int tbox_voice_set_volume (uint32_t volume)
 设置通话音量。
int tbox_voice_get_volume (uint32_t *volume)
 查询通话音量。
int tbox_voice_set_audio_mode (tbox_voice_audio_mode_t mode)
 设置音频承载方式。
int tbox_voice_get_audio_mode (tbox_voice_audio_mode_t *mode)
 查询音频承载方式。
int tbox_voice_get_call (uint32_t call_id, tbox_call_event_t *call, size_t *length)
 查询指定通话。
int tbox_voice_start_ecall (const tbox_ecall_request_t *request)
 异步启动 eCall。
int tbox_voice_set_ecall_test_number (tbox_ecall_number_type_t type, const char *number)
 设置测试 eCall 号码。
int tbox_voice_set_ecall_msd (uint32_t call_id, const uint8_t *data, size_t length)
 更新指定 eCall 的 MSD。

Detailed Description

T-Box 语音和 eCall 接口

Version
1.0.0
Date
2026-07-17