Compute
Elastic Cloud Server
Huawei Cloud Flexus
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Networking
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Management & Governance
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
OneAccess
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
IAM Identity Center
Cloud Operations Center
Resource Governance Center
Migration
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Analytics
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
Data Lake Factory
DataArts Lake Formation
IoT
IoT Device Access
Others
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Security & Compliance
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Edge Security
Managed Threat Detection
Blockchain
Blockchain Service
Web3 Node Engine Service
Media Services
Media Processing Center
Video On Demand
Live
SparkRTC
MetaStudio
Storage
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service Turbo
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Databases
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
Multi-Site High Availability Service
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Business Applications
Workspace
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Video Intelligent Analysis Service
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Content Delivery & Edge Computing
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Intelligent EdgeCloud
Solutions
SAP Cloud
High Performance Computing
Developer Services
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
CodeArts Repo
Cloud Application Engine
MacroVerse aPaaS
KooMessage
KooPhone
KooDrive
On this page

Show all

Scheduling a Meeting

Updated on 2024-12-27 GMT+08:00

API Description

This API is used to schedule a meeting.

Precautions

  • This API can be called only when you have logged in to Huawei Cloud Meeting.
  • The meeting start time must be later than the current time, and the meeting duration must be longer than 15 minutes.
  • The vmrId parameter must be passed for a personal meeting or cloud meeting room.
  • The attendees parameter must be passed if participant information needs to be carried.
  • The result parameter in the callback returns the meeting details. For details, see Table 3.

Method Definition

1
2
3
4
5
6
    /**
     * Schedules a meeting.
     * @param bookConfParam Indicates the bookConfParam object.
     * @param hwmCallback Indicates the result callback.
     */
   void bookConf(BookConfParam bookConfParam , HwmCallback<ConfInfo> hwmCallback);

Parameter Description

Table 1 BookConfParam description

Parameter

Mandatory

Type

Description

confSubject

Yes

String

Meeting topic.

startTime

Yes

long

Meeting start time, which is the difference between the UTC time and the UTC offset (converted into seconds). For example, if the time zone is UTC+08:00, the value is the UTC timestamp – (8 x 60 x 60).

duration

Yes

int

Meeting duration, in minutes. The value ranges from 15 to 1,440.

timeZone

No

int

Time zone code. The default value is 56, indicating GMT+08:00. For details, see Time Zone Table.

confType

Yes

MeetingType

Meeting type. The default value is CONF_VIDEO.

CONF_AUDIO(0, "Voice meeting"),

CONF_VIDEO(1, "Video meeting");

attendees

No

List<AttendeeModel>

Participant list.

vmrIdFlag

No

boolean

Whether to use the cloud meeting room ID for meeting scheduling. The default value is false.

vmrId

No

String

Cloud meeting room ID.

This parameter is mandatory when vmrIdFlag is set to true.

isNeedConfPwd

No

boolean

Whether a guest password is required. The default value is true.

NOTE:

This parameter is valid only for meetings with a random ID.

guestPwd

No

String

Guest password. If this parameter is left blank, the guest password is generated by the server.

NOTE:

This parameter is valid only for meetings with a random ID.

joinConfRestrictionType

No

JoinConfPermissionType

Range of participants who are allowed to join the meeting. The default value is PERMIT_EVERYONE.

PERMIT_EVERYONE("PERMIT_EVERYONE", 0, "Everyone is allowed to join the meeting.")

PERMIT_ENTERPRISE_USER("PERMIT_ENTERPRISE_USER", 2, " Only corporate users are allowed to join the meeting.")

PERMIT_INVITED_USER("PERMIT_INVITED_USER", 3, "Only invited users are allowed to join the meeting.")

isRecordOn

No

boolean

Whether recording is supported. The default value is false.

NOTE:

This parameter is valid only for cloud recording, not for local recording on clients.

isAutoRecord

No

boolean

Whether to automatically start recording after the meeting starts. The default value is false. Meeting recording must be enabled if automatic recording is enabled.

NOTE:

This parameter is valid only for cloud recording, not for local recording on clients.

isSmsOn

No

boolean

Whether to send SMS notifications. The default value is false. This function must be enabled in the enterprise configuration. Otherwise, this function does not take effect.

isMailOn

No

boolean

Whether to send email notifications. The default value is false.

isEmailCalenderOn

No

boolean

Whether to send email calendars. The default value is false.

vmrIdType

No

VmrIdType

Meeting ID type of the cloud meeting room. The ID can be fixed or random.

allowGuestStartConf

No

boolean

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

NOTE:

allowGuestStartConfTime

No

int

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

0: Guests can join the meeting at any time before the scheduled time.

x: Guest can join the meeting x minutes before the scheduled time.

NOTE:
  • This parameter is valid only for meetings with a random ID.
  • For meetings with fixed IDs, the time range cannot be set.

isOpenWaitingRoom

No

boolean

Whether to enable the waiting room.

NOTE:
  • The function takes effect only after the waiting room function is enabled.

customInfo

No

String

User-defined data on the device side. The server is unaware of the data.

concurrentParticipants

No

int

Maximum number of participants in the meeting.

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

confResType

No

ConfResType

Meeting resource type. This parameter is mandatory only for a shared cloud meeting room (set the value to ConfResType.CONF_RESTYPE_SHARE_VMR).

autoMuteMode

No

AutoMuteType

Whether to automatically mute personal client users when they join the meeting.

hardTerminalAutoMuteMode

No

AutoMuteType

Whether to automatically mute meeting room device users when they join the meeting.

Table 2 AttendeeModel description

Parameter

Mandatory

Type

Description

number

Yes

String

SIP number or phone number (Specify either number or thirdUserId).

thirdUserId

Yes

String

Third-party account in the app ID login scenario.

NOTE:

Specify either number or thirdUserId.

name

Yes

String

Name. The value can contain up to 96 characters.

isSelf

No

boolean

Whether you are the participant.

isAutoInvite

No

boolean

Whether to automatically make a call when the start time arrives.

isMute

No

boolean

Whether to mute the microphone when joining the meeting.

accountId

No

String

Unique ID of the user account in the corporate directory.

type

No

HwmAttendeeType

Participant type.

email

No

String

Email address.

sms

No

String

Mobile number.

email

No

String

Email address.

orgId

No

String

Enterprise ID of the user, which is used to identify whether the user belongs to your enterprise (when the API for obtaining the participant list is called).

isAnonymous

No

boolean

Whether to join the meeting anonymously.

state

No

ConfAttendeeState

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

Table 3 ConfInfo description

Parameter

Type

Description

confSubject

String

Meeting topic.

confId

String

Meeting ID.

isOtherCorpConf

boolean

Whether the meeting is held in another enterprise.

vmrConferenceId

String

Personal meeting ID.

confPwd

String

Meeting password.

confAccessNum

String

Meeting access number.

confChairPwd

String

Host password.

confGuestUri

String

Guest link.

confStartTimeStamp

String

Meeting start time.

confEndTimeStamp

String

Meeting end time.

confScheduserName

String

Meeting creator.

confOrgId

String

Enterprise ID.

audienceJoinUri

String

Attendee link (for webinars).

audienceJoinPwd

String

Attendee password (for webinars).

confType

ConfType

Meeting type, which can be general meeting or webinar.

conferenceType

ConferenceType

Whether the meeting is a general or recurring meeting.

cycleConfParam

CycleConfParam

Recurring meeting series parameters.

subConfSize

int

Number of recurring meetings.

subConfParam

List<SubCycleConfParam>

Recurring meeting parameters.

selfConfRole

ConfRole

Role in the meeting.

isInBreakoutSubConf

boolean

Whether the participant is in a breakout room.

Table 4 Enumerated values of VmrIdType

Enumeration Name

Enumerated Value

Description

FIXED_ID

0

VmrId is a fixed ID.

RANDOM_ID

1

VmrId is a random ID.

Table 5 Enumerated values of ConfResType

Enumeration Name

Enumerated Value

Description

CONF_RESTYPE_DEFAULT

0

Default.

CONF_RESTYPE_SHARE_VMR

3

Shared cloud meeting room.

Sample Code

Constructor of List<AttendeeModel>:
boolean needWithMember = true;
List<AttendeeModel> attendeeInfos = new ArrayList<>();
if (needWithMember) {
        // The following three methods are available:
	String name = getName();
	String number = getNumber();
	String thirdAccountId = getThirdAccountId();
	if (!TextUtils.isEmpty(thirdAccountId)) {
	    attendeeInfos.add(AttendeeModel.buildAttendeeByThirdUserId(thirdUserId, name));
	} else if (number.startsWith("+99")) {
	    // A SIP number is used to join the meeting.
	    attendeeInfos.add(AttendeeModel.buildAttendeeBySipNumber(number, name));
	} else {
	    // A mobile number or a fixed-line phone number is used to join the meeting.
	    attendeeInfos.add(AttendeeModel.buildAttendeeByPhone(number, name));
	}
}

Construct a participant model for login using an app ID. For details about other models, see the demo code.
public static AttendeeModel buildAttendeeByThirdUserId(@NonNull String thirdUserId,
    String nickName) {
    AttendeeModel attendeeInfo = new AttendeeModel();
    attendeeInfo.setAppId(Foundation.getAppid());
    attendeeInfo.setThirdUserId(thirdUserId);
    attendeeInfo.setName(nickName);
    attendeeInfo.setIsAutoInvite(true);
    attendeeInfo.setIsMute(true);
    attendeeInfo.setRole(ConfRole.ATTENDEE);
    attendeeInfo.setType(HwmAttendeeType.ATTENDEE_TYPE_NORMAL);
    return attendeeInfo;
}

private HwmCallback<ConfInfo> completeHandler = new HwmCallback<ConfInfo>() {
	@Override
	public void onSuccess(ConfInfo result) {
		dismissLoading();
		DemoUtil.showToast("Meeting scheduled.");
	}

	@Override
	public void onFailed(int retCode, String desc) {
		dismissLoading();
		dismiss();
		String err = ErrorMessageFactory.create(Utils.getApp(), retCode);
		if (TextUtils.isEmpty(err)) {
			err = Utils.getApp().getString(R.string.hwmconf_book_conf_fail);
		}
		DemoUtil.showToast("Schedule meeting failed.: " + retCode +", desc: "+ err);
	}
};
BookConfParam bookConfParam = new BookConfParam()
		.setConfSubject(getSubject())
		.setStartTime(1599574798)
		.setTimeZone(56)
		.setDuration(60)
		.setConfType(MeetingType.CONF_VIDEO)
		.setVmrIdFlag(false)
		.setVmrId("")
		.setNeedConfPwd(true)
		.setJoinConfRestrictionType(JoinConfPermissionType.PERMIT_EVERYONE)
		.setRecordOn(true)
		.setMailOn(true)
		.setSmsOn(true)
		.setEmailCalenderOn(true)
 
		.setAttendees(attendeeInfos);
HWMBizSdk.getBizOpenApi().bookConf(bookConfParam, this.completeHandler);

We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out more

Feedback

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback