更新时间:2025-07-28 GMT+08:00

发起立即会议

StartP2pConf

接口描述

该接口用于发起立即会议。

注意事项

  1. 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。

方法定义

1
HWM_SDK_AGENT_API hwmsdk::HwmErrCode StartP2pConf(const HwmP2PStartCallInfo *startCallInfo);

回调函数

1
virtual void OnStartP2pConfResult(hwmsdk::HwmErrCode ret, const char* reason, HwmConfInfo *confInfo) {};

参数描述

参数

是否必须

类型

描述

startCallInfo

HwmP2PStartCallInfo

发起立即会议信息。

表1 结构体HwmP2PStartCallInfo参数说明

参数

是否必须

类型

描述

callerInfo

HwmCallerInfo

主叫信息。

calleeInfo

HwmCalleeInfo

被叫信息。

mediaType

HwmMediaType

参数解释:

媒体类型。

约束限制

不涉及

默认取值

HWM_MEDIA_TYPE_AUDIO 音频

isGuestJoinConfWithoutPwd

bool

参数解释:

是否来宾免密。

约束限制

不涉及

默认取值

来宾不免密

callInRestriction

HwmJoinConfPermissionType

参数解释:

呼入限制。

约束限制

不涉及

默认取值

RESTRICTION_CALL_IN_ALL 所有用户。

表2 结构体HwmCallerInfo参数说明

参数

是否必须

类型

描述

nickName

char[]

参数解释:

主叫名称。

约束限制

不涉及

取值范围

0-256个字符

默认取值

不涉及

表3 结构体HwmCalleeInfo参数说明

参数

是否必须

类型

描述

nickName

char[]

参数解释:

被叫名称。

约束限制

不涉及

取值范围

0-256个字符

默认取值

不涉及

number

char[]

参数解释:

号码。

约束限制

如果填分配给账号的sip号码(如+99111244216210249)则呼叫该账号的App;如果填PSTN号码(如18700000000),则通过VoIP网关呼叫该号码,前提是该企业已开通PSTN呼叫权限。与thirdUserId二选一,账号密码鉴权时使用。

取值范围

0-128个字符

默认取值

不涉及

thirdUserId

char[]

参数解释:

第三方用户ID。

约束限制

与number二选一,App ID鉴权时使用。

取值范围

0-128个字符

默认取值

不涉及

userUuid

char[]

参数解释:

与会者uuid。

约束限制

不涉及

取值范围

0-129个字符

默认取值

不涉及

type

HwmConfAttendeeType

参数解释:

会议用户类型。

约束限制

不涉及

默认取值

HWM_ATTENDEE_TYPE_NORMAL 会议软终端用户

orgId

char[]

参数解释:

企业id。

约束限制

不涉及

取值范围

0-32个字符

默认取值

不涉及

返回值

表4 返回值

类型

描述

HwmErrCode

成功返回0,其他值表示失败。失败返回值见错误码参考

HwmConfInfo

会议信息。

示例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* 发起立即会议
*/
int demoStartP2pConfDlg::clickStartP2pConf()
{
    hwmsdkagent::HwmP2PStartCallInfo data{};
    
    //设置主叫信息
    string callerNickName = CTools::UNICODE2UTF(CString("主叫名称"));
    strncpy_s(data.callerInfo.nickName, callerNickName.c_str(), HWM_MAX_DISPLAY_NAME_LEN);
    //设置被叫信息
    string calleeNickName = CTools::UNICODE2UTF(CString("被叫名称"));
    strncpy_s(data.calleeInfo.nickName, calleeNickName.c_str(), HWM_MAX_DISPLAY_NAME_LEN);
    string calleeNumber = CTools::UNICODE2UTF(CString("123456"));
    strncpy_s(data.calleeInfo.number, calleeNumber.c_str(), HWM_MAX_NUMBER_LEN);
    string calleeThirdUserId = CTools::UNICODE2UTF(CString("123456"));
    strncpy_s(data.calleeInfo.calleeThirdUserId, calleeThirdUserId.c_str(), HWM_MAX_USER_ID_LEN);
    //设置媒体类型
    data.mediaType = hwmsdkagent::HWM_MEDIA_TYPE_VIDEO
    
    //调用SDK接口
    int ret = hwmsdkagent::StartP2pConf(&data);
    return ret;
}