Skip to content

Events & Meetings

  • File: Controllers/EventsController.cs, Controllers/MeetingsController.cs, Services/Pexip.cs, Hubs/MobileHub.cs

Overview

Events are scheduled consultations (with participants, dates, attachments). When an event starts, the API assigns a Pexip VMR (virtual meeting room) and clients join the video meeting. Rapid Connect lets guest users / headsets join with a QR code or a join code.

REST endpoints

Events (api/events/...)

EndpointPurpose
GET /api/events/get?name=&skip=&take=List events (paged)
GET /api/events/get/{eventId}Event details
GET /api/events/getParticipants/{eventId}Event participants
POST /api/events/createCreate event (CreateEventCommand)
POST /api/events/updateUpdate event (UpdateEventCommand)
POST /api/events/cancelCancel event(s) (DeleteEventsCommand)

Meetings (api/meetings/...)

EndpointPurpose
POST /api/meetings/join/{meetingCode}Join a meeting by code (returns JoinResponse with Pexip details)
POST /api/meetings/startRapidConnect/{deviceId}Start Rapid Connect for a device (returns RapidConnectUserInfo)

SignalR hub (/hubs/mobile) — meeting flow

Client invokes:

  • initEvent(InitEventRequest) — prepare an event → MeetingData
  • joinEvent(JoinCallRequest) — join the event meeting
  • getMeetingDetails(JoinCallRequest) — current meeting details
  • initCall(InitCallRequest) — start a call to someone
  • acceptCall(AcceptCallRequest) / cancelCall / endCall
  • addParticipant, joinRoom(roomId), sayHiToRoom(roomId)
  • initRapidConnect(uniqueId, joinCode), addDeviceToEvent(joinCode, eventId)
  • notify(action, NotifyRequest) — generic meeting notification

Server pushes (among others):

  • onNewCall — incoming call
  • onEndCall — call ended
  • meetingEvent — meeting lifecycle events
  • userStatus — presence changes

WebRTC signaling for peer-to-peer flows also runs over the hub: offer, answer, iceCandidate.

Recording

Recording is started/stopped via startRecording / stopRecording hub methods (backed by OvenMediaEngine). Recordings are later pushed to blob storage by hvc-filePushApi and processed by hvc-service.

Finalization

When a conference ends, hvc-sinkapi ingests Pexip telemetry, writes participant logs, and marks the event complete (hasLedger, hasRecording, hasChat, status completed).

Released under the MIT License.