Updated on 2025-07-28 GMT+08:00

Scheduling a Meeting

BookConf

API Description

This API is used to schedule a meeting.

Precautions

  1. Call this API after login.
  2. This API is an asynchronous API. The return value only indicates whether the API is successfully called. The actual service processing result is returned in the corresponding callback function.
  3. When calling this API, add yourself to the participant list and set yourself as the host.
  4. The callback function returns details about scheduled meetings. For details, see HwmConfDetail. If only meeting IDs are returned, meeting details fail to be obtained.

Method Definition

1
HWM_SDK_AGENT_API hwmsdk::HwmErrCode BookConf(const HwmBookConfParam *param);

Callback Function

1
virtual void OnBookConfResult(hwmsdk::HwmErrCode ret, const char* reason, const HwmConfDetail* confDetail) {};

Parameter Description

Table 1 HwmBookConfParam description

Parameter

Mandatory

Type

Description

subject

Yes

char[]

Definition

Meeting topic.

Constraints

N/A

Range

0 to 385 characters.

Default Value

N/A

startTimeStamp

Yes

long long

Definition

Meeting start time. The value is a UTC timestamp, accurate to seconds.

Constraints

The timestamp cannot be earlier than the current system time.

Range

N/A

Default Value

N/A

duration

Yes

int

Definition

Meeting duration, in minutes.

Constraints

N/A

Range

15 minutes to 1,440 minutes.

Default Value

30 minutes.

confType

No

HwmConfMediaType

Definition

Meeting type.

Constraints

N/A

Default Value

HWM_AUDIO_AND_DATA: voice and data meeting.

isNeedConfPwd

No

bool

Definition

Whether a meeting password is required.

Constraints

Valid only for meetings with a random ID.

Default Value

The password is not required.

isRecordOn

No

bool

Definition

Whether to enable recording.

Constraints

Valid only for cloud recording, not for local recording on clients.

Default Value

Recording is disabled.

isAutoRecordOn

No

bool

Definition

Whether to enable automatic meeting recording. If this function is enabled, the meeting will be automatically recorded even when meeting recording is disabled.

Constraints

Valid only for cloud recording, not for local recording on clients.

Default Value

Automatic meeting recording is disabled.

timeZone

Yes

int

Definition

Time zone code, which is used to send meeting notifications.

Constraints

N/A

Range

See Time Zone Table.

Default Value

56: Beijing time.

vmrFlag

No

bool

Definition

Whether to use a virtual meeting room.

Constraints

To schedule a meeting using concurrent participant resources, set this parameter to false. (This parameter is deprecated.)

Default Value

No virtual meeting room is used.

vmrId

No

char[]

Definition

Unique cloud meeting room ID.

Constraints

To schedule a meeting using concurrent participants, set this parameter to an empty string.

Range

0 to 128 characters.

Default Value

N/A

joinConfRestrictionType

No

HwmJoinConfPermissionType

Definition

Users who can join the meeting.

Constraints

N/A

Default Value

RESTRICTION_CALL_IN_ALL: everyone.

isSmsOn

No

bool

Definition

Whether to send an SMS notification.

Constraints

Reserved field. SMS notification is not yet available.

Default Value

SMS notification is disabled.

isMailOn

No

bool

Definition

Whether to send an email notification.

Constraints

N/A

Default Value

No email notification is sent.

isEmailCalendarOn

No

bool

Definition

Whether to send a calendar email.

Constraints

N/A

Default Value

No calendar email is sent.

attendees

Yes

HwmAttendeeInfo*

Definition

Participant list.

Constraints

N/A

Default Value

N/A

attendeeLen

Yes

unsigned int

Definition

Number of participants.

Constraints

N/A

Range

15 minutes to 1,440 minutes.

Default Value

30 minutes.

vmrConfIdType

No

HwmVmrConfIdType

Definition

ID type of the cloud meeting room.

Constraints

N/A

Default Value

HWM_VMR_CONF_ID_TYPE_FIXED: fixed.

guestPwd

No

char[]

Definition

Guest password.

Constraints

If this parameter is left blank, the server randomly generates a value. Valid only for meetings with a random ID.

Range

0 to 64 characters.

Default Value

N/A

isOpenWaitingRoom

No

bool

Definition

Waiting room status.

Constraints

Takes effect only after the waiting room function is enabled.

Default Value

The waiting room is not enabled.

allowGuestStartConf

No

bool

Definition

Whether to allow guests to join the meeting ahead of the host.

Constraints

Default Value

Guests are not allowed to join the meeting ahead of the host.

allowGuestStartConfTime

No

unsigned int

Definition

Time range allowed for guests to join the meeting in advance, in minutes.

Constraints

  • Valid only for meetings with a random ID.
  • Unsupported for meetings with fixed IDs.

Range

0: anytime before the scheduled time.

x: x minutes before the scheduled time.

Default Value

0

concurrentParticipants

No

unsigned int

Definition

Maximum number of participants in the meeting.

Constraints

N/A

Range

N/A

Default Value

If this parameter is left blank, there is no restriction.

customInfo

No

char[]

Definition

Custom extension information.

Constraints

N/A

Range

0 to 64 characters.

Default Value

N/A

confResType

No

HwmConfResType

Definition

Meeting resource type.

Constraints

N/A

Default Value

HWM_CONF_RESTYPE_DEFAULT: default.

defaultSummaryState

No

HwmSummaryState

Definition

Initial state of whether cloud recording contains minutes.

Constraints

Valid only when the enterprise supports smart meeting minutes (corpEnableSummary). For details, see Table 1.

Default Value

SUMMARY_STATE_CLOSE: Meeting minutes are disabled.

autoMuteMode

No

HwmAutoMuteType

Definition

Whether to automatically mute soft client guests when they join the meeting.

Constraints

N/A

Default Value

AUTO_MUTE_TYPE_DEFAULT: same as the default configuration.

hardTerminalAutoMuteMode

No

HwmAutoMuteType

Definition

Whether to automatically mute hard terminal guests when they join the meeting.

Constraints

N/A

Default Value

AUTO_MUTE_TYPE_DEFAULT: same as the default configuration.

autoPublishSummary

No

bool

Definition

Whether to automatically release minutes (without manual review).

Constraints

N/A

Default Value

Minutes are not automatically released.

Table 2 Enumerated values of HwmConfMediaType

Enumerated Value

Description

HWM_AUDIO_AND_DATA

Voice and data meeting.

HWM_VIDEO_AND_DATA

Video and data meeting.

Table 3 Enumerated values of HwmJoinConfPermissionType

Enumerated Value

Description

RESTRICTION_CALL_IN_ALL

Everyone.

RESTRICTION_CALL_IN_COMPANY

Corporate users only.

RESTRICTION_CALL_IN_INVITED

Invited users only.

Table 4 HwmAttendeeInfo description

Parameter

Mandatory

Type

Description

number

Yes

char[]

Definition

Number.

Constraints

If this parameter is set to the SIP number (for example, +99111244216210249) allocated to the account, the Huawei Cloud Meeting app is called. If this parameter is set to a PSTN number (for example, 18700000000), the number is called through the VoIP gateway if the enterprise has enabled PSTN call. This parameter is used for account and password authentication. Either this parameter or thirdUserId must be set.

Range

0 to 128 characters.

Default Value

N/A

thirdUserId

Yes

char[]

Definition

Third-party user ID.

Constraints

For app ID authentication. Either this parameter or number must be set.

Range

0 to 128 characters.

Default Value

N/A

name

Yes

char[]

Definition

Participant name.

Constraints

N/A

Range

0 to 256 characters.

Default Value

N/A

email

No

char[]

Definition

Email address used for receiving email notifications.

Constraints

N/A

Range

0 to 256 characters.

Default Value

N/A

sms

No

char[]

Definition

Mobile number used for receiving SMS notifications.

Constraints

N/A

Range

0 to 128 characters.

Default Value

N/A

isMute

No

bool

Definition

Whether to mute the microphone.

Constraints

N/A

Default Value

The microphone is unmuted.

isAutoInvite

No

bool

Definition

Whether to automatically invite the participant.

Constraints

N/A

Default Value

Automatic invitation is disabled.

role

Yes

HwmConfRole

Definition

Participant role.

Constraints

N/A

Default Value

HWM_CONF_ROLE_ATTENDEE: guest.

isAnonymous

No

bool

Definition

Whether to join the meeting anonymously. (This parameter is used only for obtaining the participant list.)

callStatus

No

ConfAttendeeState

Definition

Participant status. (This parameter is used only for obtaining the participant list.)

orgId

No

char[]

Definition

Used to identify whether the participant belongs to the current enterprise. (This parameter is used only for obtaining the participant list.)

Table 5 Enumerated values of HwmConfRole

Enumerated Value

Description

HWM_CONF_ROLE_ATTENDEE

Guest.

HWM_CONF_ROLE_CHAIRMAN

Host.

Table 6 Enumerated values of HwmVmrConfIdType

Enumerated Value

Description

HWM_VMR_CONF_ID_TYPE_FIXED

Fixed.

HWM_VMR_CONF_ID_TYPE_RANDOM

Random.

Table 7 Return values

Type

Description

HwmErrCode

If 0 is returned, the operation is successful. If other values are returned, the operation fails. For details about values returned upon failures, see Common Error Codes.

Table 8 HwmConfDetail description

Parameter

Type

Description

confListInfo

HwmConfListInfo

Meeting details. For details, see Table 3.

vmrFlag

bool

Whether the meeting is held in a cloud meeting room.

vmrId

char[]

Unique cloud meeting room ID.

isRecordOn

bool

Whether recording is supported.

isAutoRecord

bool

Whether to enable automatic meeting recording.

isGuestFreePwd

bool

Whether guests can join the meeting without a password.

isMailOn

bool

Whether to send email notifications.

isSmsOn

bool

Whether to send SMS notifications. Reserved field. SMS notification is not yet available.

isEmailCalenderOn

bool

Whether to send calendar notifications.

joinConfRestrictionType

HwmJoinConfPermissionType

Participants who are allowed to join the meeting. For details, see Table 3.

attendees

HwmAttendeeInfo*

Participant list. For details about the fields, see Scheduling a Meeting.

attendeeLen

unsigned int

Number of participants.

confServerType

HwmConfServerType

Meeting server type. 1: RTC. 0: MCU.

isOpenWaitingRoom

bool

Whether to enable the waiting room.

Sample Code

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
* Schedule a meeting.
*/
int CdemoBookConfDlg::OnBnClickedBookConf()
{
    hwmsdkagent::HwmBookConfParam data = {0};
    strncpy_s(data.subject, GetConfSubject().c_str(), HWM_MAX_SUBJECT_LEN); // UTF-8 string
    data.confType = hwmsdkagent::HwmConfMediaType::HWM_VIDEO_AND_DATA;
    data.isNeedConfPwd = true;
    data.isAutoRecordOn = true;
    data.isRecordOn = true;
    data.startTime = 1598398920; // UTC timestamp, in seconds. If the obtained time is the local time, the time needs to be converted to the UTC time.
    data.duration = 30; // Meeting duration, in minutes
    data.timeZone = 56; // Time zone. The value 56 indicates GMT+08:00.
    data.joinConfRestrictionType = hwmsdkagent::HwmJoinConfPermissionType::RESTRICTION_CALL_IN_ALL;
    
    std::vector<hwmsdkagent::HwmAttendeeInfo> attendeeList;
    // Participants to invite
    hwmsdkagent::HwmAttendeeInfo attendeeInfo = { 0 };
    strncpy_s(attendeeInfo.name, GetAttName().c_str(), HWM_MAX_USER_NAME_LEN);
    strncpy_s(attendeeInfo.number, GetAttNumber().c_str(), HWM_MAX_NUMBER_LEN);
    strncpy_s(attendeeInfo.email, GetAttEmail().c_str(), HWM_MAX_EMAIL_LEN);
    strncpy_s(attendeeInfo.sms, GetAttSms().c_str(), HWM_MAX_PHONE_NUM_LEN);
    strncpy_s(attendeeInfo.thirdUserId, GetAttUserId().c_str(), HWM_MAX_USER_ID_LEN);
    attendeeInfo.isMute = true;
    attendeeInfo.isAutoInvite = true;
    attendeeList.push_back(attendeeInfo);
 
    data.attendees = attendeeList.data();
    data.attendeeLen = attendeeList.size(); 
    data.isSmsOn = true;
    data.isMailOn = true;
    data.isEmailCalendarOn = true;
    return hwmsdkagent::BookConf(&data);
}