Tange Cloud for Device
Rev.355 |
结构体 | |
struct | CalleeEx |
被叫 更多... | |
宏定义 | |
#define | TgVdpSendReq(handle, cmd, data, size) |
发送请求 | |
#define | TgVdpSendResp(handle, cmd, data, size) |
发送应答 | |
类型定义 | |
typedef void(* | RTMSGCALLBACK) (const RTMSG_t *msg, int len, struct CalleeEx *callee) |
被叫端传过来的命令数据. | |
typedef int(* | TGVDPCALLBACK) (int status, struct CalleeEx *pCallee) |
呼叫/通话状态回调. | |
枚举 | |
enum | EVDPCALLSTATE |
呼叫/通话状态 更多... | |
函数 | |
int | TgVdpInit (const char *cfg_path, struct TciCB *cbs) |
VDP 初始化. | |
void | TgVdpSetCmdHandler (TGCMDHANDLER func) |
设置p2p命令处理回调, 代替 TciSetCmdHandler(). | |
int | TgVdpStart (int isBound, const char *uuid) |
开启VDP 服务. | |
void | TgVdpStop () |
停止VDP服务, 释放资源 会调用 TciStop()/TciCleanup() | |
int | TgVdpCallEx (struct CalleeEx *callees, int size, int timeout, TGVDPCALLBACK cb, const char *whoami, int bShowMeBeforeAccepted) |
呼叫. | |
int | TgVdpHangup () |
结束呼叫或通话. | |
int | TgVdpAccept2 () |
被叫接听, 等同于 TciAcceptInCall2(). | |
int | TgVdpReject2 () |
被叫拒接, 等同于 TciRejectInCall2(). | |
int | TgVdpSend (void *handle, int cmd, const void *data, size_t size) |
发送请求或应答. | |
int | TgVdpSendRespStatus (void *handle, int cmd, int status) |
发送状态应答. | |
struct CalleeEx |
成员变量 | ||
---|---|---|
int | type | 被叫类型 CALLTYPE_TANGE 或 CALLTYPE_WEIXIN 或 CALLTYPE_EVENT |
char * | token |
被叫标识.
|
void * | hConn |
该值为输出参数. 呼叫被接听后(收到 TVCS_ACCEPTED), hConn为与对端的连接句柄,可以调用TgVdpSend()来发送数据。 仅当 type 为 CALLTYPE_TANGE 或 CALLTYPE_EVENT, hConn 才会非NULL. |
RTMSGCALLBACK | msg_cb |
本回调用于接收对端的音视频之外的数据.
|
int | err |
该值为输出参数. 当status = TVCS_FAILED 时, err 为错误码. 错误码取值同被叫类型有关: 微信呼叫错误范围 -10008, -20~20, 说明在 wx_err.h Tange呼叫错误码在 TgCloudConst.h |
void * | pUser | 用于向回调中传入用户自己的额外数据 |
#define TgVdpSendReq | ( | handle, | |
cmd, | |||
data, | |||
size ) |
#define TgVdpSendResp | ( | handle, | |
cmd, | |||
data, | |||
size ) |
typedef int(* TGVDPCALLBACK) (int status, struct CalleeEx *pCallee) |
呼叫/通话状态回调.
status | 状态 EVDPCALLSTATE |
pCallee | status=TVCS_ACCEPTED为被叫指针,其于时候为NULL. 注意,这个指针不同于调用 TgVdpCall()时传入的数组元素的地址, 因为那个数组会被复制 |
enum EVDPCALLSTATE |
int TgVdpInit | ( | const char * | cfg_path, |
struct TciCB * | cbs ) |
void TgVdpSetCmdHandler | ( | TGCMDHANDLER | func | ) |
设置p2p命令处理回调, 代替 TciSetCmdHandler().
对端(只能另一个VDP设备)的请求和应答都通知本回调接收.
func | p2p命令处理回调。 |
int TgVdpStart | ( | int | isBound, |
const char * | uuid ) |
开启VDP 服务.
isBound | 设备本地保存的是否绑定的标志。如果为0(没有绑定), 需要走绑定流程 |
uuid | 设备的 UUID |
int TgVdpCallEx | ( | struct CalleeEx * | callees, |
int | size, | ||
int | timeout, | ||
TGVDPCALLBACK | cb, | ||
const char * | whoami, | ||
int | bShowMeBeforeAccepted ) |
呼叫.
callees | 被叫对象数组. |
size | 数组大小 |
timeout | 等待时间。单位: 秒.
|
cb | 状态回调 |
whoami | 呼叫者标识, 内容自定义。 |
bShowMeBeforeAccepted | 允许对方接听前看到主叫的视频. 门口机呼叫室内机时可以打开此选项。 |
int TgVdpHangup | ( | ) |
结束呼叫或通话.
对主叫端,可以在调用 TgVdpCall()成功后的任何时候调用本接口, 从而实现 取消呼叫、结束通话、响应对方挂断 的功能.
对被叫端,调用本接口实现通话中挂断的功能, 实际调用了TciHangup().
int TgVdpAccept2 | ( | ) |
被叫接听, 等同于 TciAcceptInCall2().
int TgVdpReject2 | ( | ) |
被叫拒接, 等同于 TciRejectInCall2().
int TgVdpSend | ( | void * | handle, |
int | cmd, | ||
const void * | data, | ||
size_t | size ) |
发送请求或应答.
只能对设备发送,目前不支持对小程序发送数据。
handle | 连接句柄. 来自不同地方, 见下面注释 |
cmd | 命令码。
|
data | 请求或应答的数据 |
size | 数据长度 |
不要使用 TciSendCmdXxxx 接口来发送 !
int TgVdpSendRespStatus | ( | void * | handle, |
int | cmd, | ||
int | status ) |
发送状态应答.
status | TCI_OK 或 TCI_E_xxx, 参见 通用错误码 |
handle | 参见 TgVdpSend() |
cmd | 请求命令 |