Link Kit C-SDK  4.0.0
| 宏定义 | 类型定义 | 枚举 | 函数
aiot_rtc_api.h 文件参考
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  aiot_rtc_event_t
 
struct  aiot_rtc_recv_t
 rtc模块收到从网络上来的报文时, 通知用户的报文内容 更多...
 
struct  aiot_rtc_msg_channel_request_t
 主叫方发起的会议邀请 更多...
 
struct  aiot_rtc_msg_guest_reply_t
 被叫方回复 更多...
 
struct  aiot_rtc_msg_invite_more_guest_t
 发起更多的邀请 更多...
 
struct  aiot_rtc_msg_remove_guest_t
 将某个用户踢出会议的请求 更多...
 
struct  aiot_rtc_msg_cancel_channel_t
 结束整个会议的请求 更多...
 
struct  aiot_rtc_msg_guest_leave_channel_t
 某个用户要离开会议的请求 更多...
 
struct  aiot_rtc_msg_t
 上行消息的结构体 更多...
 

宏定义

#define STATE_RTC_BASE   (-0x1D00)
 -0x1D00~-0x1DFF表达SDK在rtc模块内的状态码 更多...
 
#define STATE_RTC_MQTT_HANDLE_IS_NULL   (-0x1D01)
 用户未调用aiot_rtc_setopt 配置MQTT句柄 更多...
 
#define STATE_RTC_MSG_PARAMS_IS_NULL   (-0x1D02)
 用户发送消息时,消息内容为NULL 更多...
 
#define STATE_RTC_LOG_RECV   (-0x1D03)
 收到下行消息时候的打印 更多...
 
#define SATAE_RTC_LOG_PARSE_RECV_MSG_FAILED   (-0x1D04)
 收到下行消息时候的打印 更多...
 

类型定义

typedef void(* aiot_rtc_recv_handler_t) (void *handle, const aiot_rtc_recv_t *recv, void *userdata)
 rtc模块消息接收回调函数的函数原型定义, 当模块接收到服务器下行数据后将调用此回调函数, 并将消息数据通过recv参数输入给用户,
同时将用户上下文数据指针通过userdata参数返回给用户 更多...
 

枚举

enum  aiot_rtc_event_type_t { AIOT_RTCEVT_DISCONNECT }
 
enum  aiot_rtc_msg_type_t {
  AIOT_RTCMSG_CHANNEL_REQUEST, AIOT_RTCMSG_GUEST_RESPONSE, AIOT_RTCMSG_INVITE_MORE_GUEST, AIOT_RTCMSG_CANCEL_CHANNEL,
  AIOT_RTCMSG_GUEST_LEAVE_CHANNEL, AIOT_RTCMSG_REMOVE_GUEST, AIOT_RTCMSG_MAX
}
 上行消息的数据结构 更多...
 
enum  aiot_rtc_recv_type_t { AIOT_RTCRECV_INVIATION, AIOT_RTCRECV_CHANNEL_REQUEST_GRANTED, AIOT_RTCRECV_GUEST_REPLY }
 rtc模块接受消息类型枚举 更多...
 
enum  aiot_rtc_option_t { AIOT_RTCOPT_MQTT_HANDLE, AIOT_RTCOPT_RECV_HANDLER, AIOT_RTCOPT_USERDATA, AIOT_RTCOPT_MAX }
 rtc模块的配置选项枚举类型定义. aiot_rtc_setopt 函数入数data的数据类型根据不同的选项而不同 更多...
 
enum  aiot_rtc_guest_reply_t {
  ACCEPT, REJECT, LEAVE, ACK,
  BUSY, TERMINATE
}
 被叫方回复的类型 更多...
 

函数

void * aiot_rtc_init (void)
 初始化rtc实例 更多...
 
int32_t aiot_rtc_deinit (void **handle)
 销毁rtc实例, 释放资源 更多...
 
int32_t aiot_rtc_setopt (void *handle, aiot_rtc_option_t option, void *data)
 设置rtc参数 更多...
 
int32_t aiot_rtc_launch_channel (void *handle, aiot_rtc_msg_t *msg)
 主叫方发起会议, 邀请被叫方入会 更多...
 
int32_t aiot_rtc_guest_resonse (void *handle, aiot_rtc_msg_t *msg)
 被叫方发送响应 更多...
 
int32_t aiot_rtc_invite_guest (void *handle, char *channel_id, char *pk, char *dn)
 邀请更多用户入会. 本期暂不支持. 更多...
 
int32_t aiot_rtc_cancel_channel (void *handle, char *channel_id)
 取消会议, 所有参会者退出 更多...
 
int32_t aiot_rtc_guest_leave_channel (void *handle, char *channel_id)
 被叫方主动离开会议 更多...
 
int32_t aiot_rtc_remove_guest (void *handle, char *channel_id, char *pk, char *dn)
 主叫方将某个被叫方移出会议 更多...
 

宏定义说明

#define STATE_RTC_BASE   (-0x1D00)

-0x1D00~-0x1DFF表达SDK在rtc模块内的状态码

#define STATE_RTC_MQTT_HANDLE_IS_NULL   (-0x1D01)

用户未调用aiot_rtc_setopt 配置MQTT句柄

#define STATE_RTC_MSG_PARAMS_IS_NULL   (-0x1D02)

用户发送消息时,消息内容为NULL

#define STATE_RTC_LOG_RECV   (-0x1D03)

收到下行消息时候的打印

#define SATAE_RTC_LOG_PARSE_RECV_MSG_FAILED   (-0x1D04)

收到下行消息时候的打印

类型定义说明

typedef void(* aiot_rtc_recv_handler_t) (void *handle, const aiot_rtc_recv_t *recv, void *userdata)

rtc模块消息接收回调函数的函数原型定义, 当模块接收到服务器下行数据后将调用此回调函数, 并将消息数据通过recv参数输入给用户,
同时将用户上下文数据指针通过userdata参数返回给用户

参数
[in]handlertc实例句柄
[in]recv服务下发的消息数据, 消息结构体中的所有数据指针在离开回调函数后将失效, 保存消息数据必须使用内存复制的方式
[in]userdata指向用户上下文数据的指针, 这个指针由用户通过调用aiot_rtc_setopt 配置AIOT_RTCOPT_USERDATA 选项设置
返回
void

枚举类型说明

枚举值
AIOT_RTCEVT_DISCONNECT 

上行消息的数据结构

枚举值
AIOT_RTCMSG_CHANNEL_REQUEST 

发起会议邀请. 数据结构参考aiot_rtc_msg_channel_request_t

AIOT_RTCMSG_GUEST_RESPONSE 

用户收到邀请后, 对此作出回复. 数据结构参考aiot_rtc_msg_guest_reply_t

AIOT_RTCMSG_INVITE_MORE_GUEST 

一对一的会议邀请发起后, 邀请更多的用户加入会议. 本期暂不支持

AIOT_RTCMSG_CANCEL_CHANNEL 

结束会议,所有参与者离线

AIOT_RTCMSG_GUEST_LEAVE_CHANNEL 

被叫方离开会议.

AIOT_RTCMSG_REMOVE_GUEST 

主叫方将被叫方移除会议.

AIOT_RTCMSG_MAX 

消息数量最大值, 不可用作消息类型

rtc模块接受消息类型枚举

这个枚举类型包括了rtc模块支持接收的所有数据类型, 不同的消息类型将对于不同的消息结构体

枚举值
AIOT_RTCRECV_INVIATION 

被叫方收到云端下行的会话邀请

AIOT_RTCRECV_CHANNEL_REQUEST_GRANTED 

主叫方发起会话后获得云端批准

AIOT_RTCRECV_GUEST_REPLY 

主叫方收到的被叫方的回复,包括接受/拒绝等

rtc模块的配置选项枚举类型定义. aiot_rtc_setopt 函数入数data的数据类型根据不同的选项而不同

枚举值
AIOT_RTCOPT_MQTT_HANDLE 

模块依赖的MQTT句柄

rtc模块依赖底层的MQTT模块, 用户必需配置正确的MQTT句柄, 否则无法正常工作

数据类型: (void *)

AIOT_RTCOPT_RECV_HANDLER 

数据接收回调函数, rtc接收物联网平台的下行消息后调用此回调函数

数据类型: (aiot_rtc_recv_handler_t), 详细查看aiot_rtc_recv_handler_t 回调函数原型

AIOT_RTCOPT_USERDATA 

传递用户数据

数据类型: void *

AIOT_RTCOPT_MAX 

配置选项数量最大值, 不可用作配置参数

被叫方回复的类型

枚举值
ACCEPT 

接受对方呼叫

REJECT 

拒绝对方呼叫

LEAVE 

离开会议

ACK 

收到呼叫

BUSY 

对方正忙

TERMINATE 

结束会议

函数说明

void* aiot_rtc_init ( void  )

初始化rtc实例

返回
void*
返回值
非NULLrtc实例句柄
NULL初始化失败, 一般是内存分配失败导致

函数调用图:

int32_t aiot_rtc_deinit ( void **  handle)

销毁rtc实例, 释放资源

参数
[in]handle指向rtc实例句柄的指针
返回
int32_t
返回值
STATE_SUCCESS执行成功
<STATE_SUCCESS执行失败

函数调用图:

int32_t aiot_rtc_setopt ( void *  handle,
aiot_rtc_option_t  option,
void *  data 
)

设置rtc参数

参数
[in]handlertc实例句柄
[in]option配置选项, 更多信息请查看aiot_rtc_option_t
[in]data配置数据, 更多信息请查看aiot_rtc_option_t
返回
int32_t
返回值
STATE_SUCCESS参数配置成功
STATE_USER_INPUT_NULL_POINTER入参handle或data为NULL
STATE_USER_INPUT_OUT_RANGE入参optioin的枚举值>=AIOT_RTCOPT_MAX
others参考aiot_state_api.h

函数调用图:

int32_t aiot_rtc_launch_channel ( void *  handle,
aiot_rtc_msg_t msg 
)

主叫方发起会议, 邀请被叫方入会

参数
[in]handlertc实例句柄
[in]msg要发送的消息aiot_rtc_msg_t
返回
int32_t
返回值
STATE_SUCCESS邀请发送成功
STATE_USER_INPUT_NULL_POINTER入参handle或data为NULL
STATE_RTC_MQTT_HANDLE_IS_NULLmqtt句柄未配置
others参考aiot_state_api.h

函数调用图:

int32_t aiot_rtc_guest_resonse ( void *  handle,
aiot_rtc_msg_t msg 
)

被叫方发送响应

参数
[in]handlertc实例句柄
[in]msg要发送的消息aiot_rtc_msg_t
返回
int32_t
返回值
STATE_SUCCESS回复发送成功
STATE_USER_INPUT_NULL_POINTER入参handle或data为NULL
STATE_RTC_MQTT_HANDLE_IS_NULLmqtt句柄未配置
others参考aiot_state_api.h

函数调用图:

int32_t aiot_rtc_invite_guest ( void *  handle,
char *  channel_id,
char *  pk,
char *  dn 
)

邀请更多用户入会. 本期暂不支持.

函数调用图:

int32_t aiot_rtc_cancel_channel ( void *  handle,
char *  channel_id 
)

取消会议, 所有参会者退出

参数
[in]handlertc实例句柄
[in]channel_id会议的通道id
返回
int32_t
返回值
STATE_SUCCESS请求发送成功
STATE_USER_INPUT_NULL_POINTER入参handle或data为NULL
STATE_RTC_MQTT_HANDLE_IS_NULLmqtt句柄未配置
others参考aiot_state_api.h

函数调用图:

int32_t aiot_rtc_guest_leave_channel ( void *  handle,
char *  channel_id 
)

被叫方主动离开会议

参数
[in]handlertc实例句柄
[in]channel_id会议的通道id
返回
int32_t
返回值
STATE_SUCCESS请求发送成功
STATE_USER_INPUT_NULL_POINTER入参handle或data为NULL
STATE_RTC_MQTT_HANDLE_IS_NULLmqtt句柄未配置
others参考aiot_state_api.h

函数调用图:

int32_t aiot_rtc_remove_guest ( void *  handle,
char *  channel_id,
char *  pk,
char *  dn 
)

主叫方将某个被叫方移出会议

参数
[in]handlertc实例句柄
[in]channel_id会议的通道id
[in]pk被叫方的product_key
[in]dn被叫方的device_name
返回
int32_t
返回值
STATE_SUCCESS请求发送成功
STATE_USER_INPUT_NULL_POINTER入参handle或data为NULL
STATE_RTC_MQTT_HANDLE_IS_NULLmqtt句柄未配置
others参考aiot_state_api.h

函数调用图: