Skip to content

Conduct Live Online Classes

Conduct Live Online Classes

Host real-time video classes with password protection, screen sharing, emoji reactions, and participant management.

Time: 2–5 minutes to set up Module: OpenEduCat Live Permissions: Faculty or Meeting Organizer


Prerequisites

  • Modern web browser with WebRTC support
  • Camera and microphone access
  • Calendar module installed
  • Discuss module configured
  • Access to Calendar application

Overview

The Live Classes system enables:

  • WebRTC-based video conferencing
  • Password-protected meeting rooms
  • Screen sharing with host controls
  • Emoji reactions and hand raising
  • Meeting lock to prevent late entry
  • Integration with calendar scheduling
  • Course, batch, and subject linking

Technology

The module uses WebRTC (Web Real-Time Communication):

  • Peer-to-peer video connections
  • Browser-based (no plugins required)
  • Supports: Chrome, Firefox, Edge, Safari

Browser Requirements:

  • RTCPeerConnection support
  • MediaStream API support
  • Camera and microphone permissions

Steps

1. Schedule a Live Class

  1. Navigate to Calendar application
  2. Click on a time slot or click New
  3. Complete the event form:
FieldAction
SubjectEnter class title
StartSet start date and time
EndSet end date and time
AttendeesAdd student/faculty contacts
  1. Enable live meeting:

    • Check Create Meeting checkbox
    • System creates a discuss channel
    • Password auto-generated
  2. In Meeting tab:

FieldAction
CourseSelect course (optional)
BatchSelect batch (filtered by course)
SubjectSelect subject (optional)
  1. Click Save

2. Share Meeting Details

After saving, the event includes:

  • Video Call URL: Auto-generated meeting link
  • Password: Participant access password
  • Moderator Password: Host control password

Attendees receive:

  • Calendar invitation with meeting link
  • Password for joining

3. Start the Live Class

  1. Open the calendar event

  2. Click the Join Meeting button or use the video call URL

  3. On the welcome page:

    • Preview your camera
    • Test microphone
    • Enter password (if required)
  4. Click Join to enter the meeting

4. Host Controls

As the meeting host, you can:

ControlAction
Lock MeetingPrevent new participants from joining
Password LockEnable/disable password requirement
End MeetingClose session for all participants
Mute/UnmuteControl your audio
Camera On/OffControl your video
Screen ShareShare your screen
Disable Screen SharePrevent participants from sharing

5. Participant Features

Participants can:

  • Raise hand (notification to host)
  • Send emoji reactions
  • Share screen (if enabled)
  • Mute/unmute audio
  • Turn camera on/off

Meeting Security

Password Protection

  1. Passwords are auto-generated (10 characters)
  2. Uses alphanumeric characters (excludes confusing: l, O)
  3. Two password types:
    • Participant Password: For attendees
    • Moderator Password: For host controls

Lock Meeting

  1. Click Lock Meeting button
  2. Icon changes to locked state
  3. New participants see “Meeting Locked” message
  4. Unlock by clicking again

Welcome Page Validation

When joining, system checks:

  1. Is meeting locked? → Shows “lock-meeting” error
  2. Is password required? → Shows password input
  3. Password correct? → Allows entry
  4. Wrong password → Shows “incorrect-password” error

Screen Sharing

Enable/Disable Screen Sharing

Host can control participant screen sharing:

  1. Click Settings menu
  2. Find Screen Share Disable checkbox
  3. Check to prevent participants from sharing
  4. Uncheck to allow sharing

Share Your Screen

  1. Click Screen Share button

  2. Browser prompts for screen selection:

    • Entire screen
    • Application window
    • Browser tab
  3. Select and click Share

  4. Other participants see your screen

  5. Click Stop Sharing to end


Emoji Reactions

Send Emoji

  1. Click Emoji button in call actions
  2. Select emoji from picker
  3. Emoji displays next to your name
  4. Other participants see your reaction

Hand Raising

  1. Click Raise Hand button
  2. Hand icon appears in participant list
  3. Host sees notification
  4. Click again to lower hand

Field Reference

Calendar Event Extension

FieldTechnical NameTypeDescription
Create Meetingis_meetingBooleanEnable live meeting
Meeting Startedis_start_meetingBooleanMeeting active flag
Passwordis_passwordCharParticipant password
Channelchannel_idMany2oneLinked discuss channel
Coursecourse_idMany2oneAssociated course
Batchbatch_idMany2oneAssociated batch
Subjectsubject_idMany2oneAssociated subject

Discuss Channel Extension

FieldTechnical NameTypeDescription
Lock Meetis_lockmeetBooleanMeeting locked
Lock Passwordis_lockpasswordBooleanPassword required
End Meetis_EndMeetBooleanMeeting ended
Passwordis_passwordCharAccess password
Host IDhost_idIntegerHost user ID
Sheet IDsheet_idIntegerAttendance sheet link
Calendarcalendar_idMany2oneLinked calendar event

RTC Session Extension

FieldTechnical NameTypeDescription
Screen Share Disabledis_screen_showBooleanHost disabled sharing
Hand Raisedis_hand_raisedBooleanParticipant raised hand
Emojiis_EmojiCharCurrent emoji reaction
Badge Emojiis_badgeemojiCharBadge emoji status
Attentivenessis_AttentivenessBooleanTab focus tracking

API Endpoints

The module provides JSON-RPC endpoints:

EndpointPurpose
/mail/rtc/session/welcomepageValidate password
/mail/rtc/session/lock-meetingLock/unlock meeting
/mail/rtc/session/check-ishostVerify host status
/mail/rtc/session/lock-passwordToggle password lock
/mail/rtc/session/check-lockCheck password status
/mail/rtc/session/create-passwordGenerate password
/mail/rtc/session/get-passwordRetrieve password
/mail/rtc/session/update-and-emojiUpdate emoji status

Meeting States

Participant View States

StateDescription
ConnectingEstablishing WebRTC connection
ConnectedIn meeting, can interact
MutedAudio disabled
Camera OffVideo disabled
Screen SharingSharing screen
Hand RaisedRequested to speak

Host View Indicators

  • Participant count
  • Audio/video status for each
  • Hand raise notifications
  • Emoji reactions
  • Attentiveness tracking (tab focus)

Troubleshooting

IssueCauseSolution
Camera not workingBrowser permissionsAllow camera access
No audioMicrophone blockedCheck browser permissions
Cannot joinMeeting lockedWait for host to unlock
Wrong passwordTypo or changedVerify password with host
Black screenWebRTC unsupportedUse supported browser
Poor qualityNetwork issuesCheck internet connection
Screen share failsBrowser restrictionsTry different screen option
Others can’t hearMutedUnmute microphone

Browser Compatibility Check

The welcome page automatically checks:

  • RTCPeerConnection availability
  • MediaStream support

If unsupported, shows error message with browser upgrade recommendation.


Best Practices

  1. Test equipment: Check camera and mic before class
  2. Share password: Ensure students have access credentials
  3. Lock timing: Lock meeting after expected participants join
  4. Mute policy: Ask participants to mute when not speaking
  5. Screen prep: Close sensitive windows before sharing
  6. Backup plan: Have alternate communication method ready
  7. Record important sessions: Use browser recording if needed

Integration Features

Calendar Integration

  • Events sync with meeting creation
  • Attendees auto-added to channel
  • Meeting URL in event description
  • Automatic cleanup on event deletion

Course/Batch Linking

  • Associate meetings with specific courses
  • Link to batches for student filtering
  • Subject assignment for topic tracking

Attendance Integration

  • sheet_id field links to attendance module
  • Track meeting participation
  • Generate attendance reports

Security Notes

RoleCapabilities
Meeting HostFull control (lock, password, end)
ParticipantsJoin, react, screen share (if enabled)
Guest UsersLimited access via public routes

Password Security

  • 10-character random passwords
  • Alphanumeric (avoids confusing characters)
  • Separate moderator and participant passwords
  • Can be regenerated by host