/// <summary>
        /// Create a meeting room
        /// </summary>
        /// <param name="meetingId">The meetings Id</param>
        /// <param name="name">Name of the meeting</param>
        /// <param name="attendeePassword">attendee password</param>
        /// <param name="moderatorPassword">moderator password</param>
        /// <param name="record">allow recording</param>
        /// <param name="allowStartStopRecording">allow start/stop recording</param>
        /// <param name="autoStartRecording">start recording on start</param>
        /// <param name="voiceBridge">voice bridge</param>
        /// <param name="welcome">welcome message</param>
        /// <param name="logoutUrl">redirect url when logout</param>
        /// <returns></returns>
        public MeetingCreateResponse Create(string meetingId, string name, string attendeePassword, string moderatorPassword,
                                            bool record            = true, bool allowStartStopRecording = true, bool autoStartRecording = false,
                                            int voiceBridge        = 76894, string welcome              = null,
                                            string logoutUrl       = null,
                                            string meetingEndUrl   = null,
                                            string recordingEndUrl = null)
        {
            var qb = new QueryStringBuilder
            {
                { "meetingID", meetingId },
                { "name", name },
                { "attendeePW", attendeePassword },
                { "moderatorPW", moderatorPassword },
                { "record", record.ToString() },
                { "allowStartStopRecording", allowStartStopRecording.ToString() },
                { "autoStartRecording", autoStartRecording.ToString() },
                { "voiceBridge", voiceBridge.ToString() },
                { "welcome", welcome },
                { "recordingmarks", "true" },
                { "logoutURL", logoutUrl },
                { "meta_endCallbackUrl", (meetingEndUrl) },
                { "meta_bbb-recording-ready-url", (recordingEndUrl) },
            };

            qb.Add("checksum", GenerateChecksum("create", qb.ToString()));
            return(Response.Parse <MeetingCreateResponse>(HttpGet(Url + "create?" + qb)));
        }
        /// <summary>
        /// Get meetings
        /// </summary>
        /// <param name="meetingId"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public GetMeetingResponse GetMeetings()
        {
            var qb = new QueryStringBuilder();

            qb.Add("checksum", GenerateChecksum("getMeetings", qb.ToString()));
            return(Response.Parse <GetMeetingResponse>(HttpGet(Url + "getMeetings?" + qb)));
        }
        /// <summary>
        /// Check if the meeting is running
        /// </summary>
        /// <param name="meetingId"></param>
        /// <returns></returns>
        public IsMeetingRunningResponse IsMeetingRunning(string meetingId)
        {
            var qb = new QueryStringBuilder
            {
                { "meetingID", meetingId }
            };

            qb.Add("checksum", GenerateChecksum("isMeetingRunning", qb.ToString()));
            return(Response.Parse <IsMeetingRunningResponse>(HttpGet(Url + "isMeetingRunning?" + qb)));
        }
        /// <summary>
        /// End the meeting
        /// </summary>
        /// <param name="meetingId"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public Response End(string meetingId, string password)
        {
            var qb = new QueryStringBuilder
            {
                { "meetingID", meetingId },
                { "password", password },
            };

            qb.Add("checksum", GenerateChecksum("end", qb.ToString()));
            return(Response.Parse <Response>(HttpGet(Url + "end?" + qb)));
        }
        public GetRecordingsResponse GetRecordings(string meetingId = null)
        {
            var qb = new QueryStringBuilder();

            if (!string.IsNullOrWhiteSpace(meetingId))
            {
                qb.Add("meetingId", meetingId);
            }
            qb.Add("checksum", GenerateChecksum("getRecordings", qb.ToString()));
            return(Response.Parse <GetRecordingsResponse>(HttpGet(Url + "getRecordings?" + qb)));
        }
Exemple #6
0
        /// <summary>
        /// Join the meeting, user role depend on the password
        /// </summary>
        /// <param name="meetingId">meeiting id</param>
        /// <param name="name">user's name</param>
        /// <param name="password">meeting password</param>
        /// <param name="redirect"></param>
        /// <returns></returns>
        public string Join(string meetingId, string name, string password, bool redirect = true)
        {
            var qb = new QueryStringBuilder
            {
                { "fullName", name },
                { "meetingID", meetingId },
                { "password", password },
                { "redirect", redirect.ToString().ToLower() }
            };

            qb.Add("checksum", GenerateChecksum("join", qb.ToString()));
            return(Url + "join?" + qb);
        }