public async Task <IEnumerable <RoomDetails> > GetAllRoomsAsync() { var rooms = await RoomResource.ReadAsync(); var tasks = rooms.Select( room => GetRoomDetailsAsync( room, ParticipantResource.ReadAsync( room.Sid, ParticipantStatus.Connected))); return(await Task.WhenAll(tasks)); async Task <RoomDetails> GetRoomDetailsAsync( RoomResource room, Task <ResourceSet <ParticipantResource> > participantTask) { var participants = await participantTask; return(new RoomDetails { Name = room.UniqueName, MaxParticipants = room.MaxParticipants ?? 0, ParticipantCount = participants.ToList().Count }); } }
public List <RoomDetails> GetRoomListByStatus(string RoomStatus) { ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; TwilioClient.Init(accountSid, authToken); List <RoomDetails> RoomDetailList = new List <RoomDetails>(); RoomDetails RD = new RoomDetails(); try { if (RoomStatus.ToUpper() == "COMPLETED") { var rooms = RoomResource.Read( status: RoomResource.RoomStatusEnum.Completed, limit: 20 ); foreach (var rm in rooms) { RD.Id = rm.AccountSid; RD.Name = rm.UniqueName; RD.MaxParticipants = Convert.ToInt32(rm.MaxParticipants); RD.Status = rm.Status.ToString(); RoomDetailList.Add(RD); } } } catch (Exception ex) { throw; } return(RoomDetailList); }
public static async Task CreateMeetingRoomAsync(Event @event) { var uniqueName = GetRoomName(@event); var room = (await RoomResource.ReadAsync( uniqueName: uniqueName, limit: 1)).FirstOrDefault(); if (room is null || room.UniqueName != uniqueName) { var callbackUrl = string.IsNullOrEmpty(_twilioConfiguration.RoomUpdateCallbackUrl) ? null : new Uri(_twilioConfiguration.RoomUpdateCallbackUrl); var callbackMethod = string.IsNullOrEmpty(_twilioConfiguration.RoomUpdateCallbackUrl) ? null : HttpMethod.Post; await RoomResource.CreateAsync( uniqueName : uniqueName, type : RoomResource.RoomTypeEnum.Group, maxParticipants : _maxParticipants, recordParticipantsOnConnect : false, statusCallback : callbackUrl, statusCallbackMethod : callbackMethod); } }
public async Task CreateRoomAsync(string id, Country country, bool needRecord, Uri callBack, StudyRoomType studyRoomType) { var type = RoomResource.RoomTypeEnum.PeerToPeer; //switch (studyRoomType) //{ // case StudyRoomType.SmallGroup: // type = RoomResource.RoomTypeEnum.GroupSmall; // break; // case StudyRoomType.PeerToPeer: // type = RoomResource.RoomTypeEnum.PeerToPeer; // break; //} var mediaRegion = "us1"; if (country == Country.Israel) { mediaRegion = "de1"; } if (country == Country.India) { mediaRegion = "us1"; } await RoomResource.CreateAsync( uniqueName : id, enableTurn : true, maxParticipants : 2, type : type, statusCallback : callBack, statusCallbackMethod : HttpMethod.Post, recordParticipantsOnConnect : needRecord, mediaRegion : mediaRegion ); }
public string CompleteRoom(string roomSid) { TwilioClient.Init(_apiAccountSid, _apiKeySecret); var room = RoomResource.Update(roomSid, RoomResource.RoomStatusEnum.Completed); return(room.Sid); }
protected void RecordingBtn_Click(object sender, EventArgs e) { //StartRecording(); // Find your Account SID and Auth Token at twilio.com/console const string apiKeySid = "SK0678c0ad0045e85ac68f91d3eca7c87c"; const string apiKeySecret = "6AQNum22c9t20kZsbGXffSZQDpEyjyWs"; // const string roomUniqueName = "Anu"; TwilioClient.Init(apiKeySid, apiKeySecret); var rooms = RoomResource.Read( status: RoomResource.RoomStatusEnum.Completed, //uniqueName: "05212018014523086"); uniqueName: "05212018045230018"); foreach (var room in rooms) { Console.WriteLine(room.Sid); string roomSid = room.Sid; //Console.WriteLine(room.Sid); //const string roomSid = "RM9236a49ad89bde01060d416c418b1157"; TwilioClient.Init(apiKeySid, apiKeySecret); var recordings = RecordingResource.Read( groupingSid: new List <string>() { roomSid }); foreach (var recording in recordings) { Console.WriteLine(recording.Sid); string recordingSid = recording.Sid; var RetrieveRecording = RoomRecordingResource.Fetch(roomSid, recordingSid); Console.WriteLine(RetrieveRecording.Type); string uri = "https://video.twilio.com/v1/" + $"Rooms/{roomSid}/" + $"Recordings/{recordingSid}/" + "Media/"; var request = (HttpWebRequest)WebRequest.Create(uri); request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(apiKeySid + ":" + apiKeySecret))); request.AllowAutoRedirect = false; string responseBody = new StreamReader(request.GetResponse().GetResponseStream()).ReadToEnd(); var mediaLocation = JsonConvert.DeserializeObject <Dictionary <string, string> >(responseBody)["redirect_to"]; Console.WriteLine(mediaLocation); //aws credentials; //loc = aws new WebClient().DownloadFile(mediaLocation, @"C:\Users\bhanushree.rajanna\Desktop\TestR\" + recording.TrackName + RetrieveRecording.Type + "AudioVideo.mp4"); } } }
public RoomResource CompleteRoom(string RoomSID) { TwilioClient.Init(accountSid, authToken); var room = RoomResource.Update( status: RoomResource.RoomStatusEnum.Completed, pathSid: RoomSID ); return(room); }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var room = RoomResource.Fetch(pathSid: "DailyStandup"); Console.WriteLine(room.UniqueName); }
static async Task <RoomDetails> GetRoomDetailsAsync( RoomResource room, Task <ResourceSet <ParticipantResource> > participantTask) { var participants = await participantTask; return(new( room.Sid, room.UniqueName, participants.Count(), room.MaxParticipants ?? 0)); }
static void Main(string[] args) { // Find your Account SID and Auth Token at twilio.com/console const string apiKeySid = "SKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string apiKeySecret = "your_api_key_secret"; TwilioClient.Init(apiKeySid, apiKeySecret); var room = RoomResource.Create(uniqueName: "DailyStandup"); Console.WriteLine(room.Sid); }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var room = RoomResource.Create(); Console.WriteLine(room.Sid); }
public async ValueTask <IEnumerable <RoomDetails> > GetAllRoomsAsync() { var rooms = await RoomResource.ReadAsync(); var tasks = rooms.Select( room => GetRoomDetailsAsync( room, ParticipantResource.ReadAsync( room.Sid, ParticipantStatus.Connected))); return(await Task.WhenAll(tasks));
public static List <RoomResource> RoomResources() { Guid room1Id = Guid.Parse("c678fddb-f055-6792-2c44-9ea76263576a"); Guid room2Id = Guid.Parse("d31a4cc3-ff3c-977f-c6ea-1406b602da21"); Guid resource1Id = Guid.Parse("d807ce74-6f5a-4ed9-a084-ba9f20748b03"); Guid resource2Id = Guid.Parse("e3c1c219-3480-4cd3-bf66-99f04cb1bb15"); Guid resource3Id = Guid.Parse("7ccfb32b-e133-404d-a871-679a45ff5a0d"); #region Room 1 RoomResource roomResource1 = new RoomResource { Id = Guid.NewGuid(), RoomId = room1Id, ResourceId = resource1Id, Quantity = 1 }; RoomResource roomResource2 = new RoomResource { Id = Guid.NewGuid(), RoomId = room1Id, ResourceId = resource3Id, Quantity = 1 }; #endregion #region Room 2 RoomResource roomResource3 = new RoomResource { Id = Guid.NewGuid(), RoomId = room2Id, ResourceId = resource2Id, Quantity = 1 }; RoomResource roomResource4 = new RoomResource { Id = Guid.NewGuid(), RoomId = room2Id, ResourceId = resource3Id, Quantity = 1 }; #endregion return(new List <RoomResource> { roomResource1, roomResource2, roomResource3, roomResource4, }); }
// [WebMethod] // public static void StartRecording() // { //ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "Func()", true); // } //} protected void RecordingBtnn_Click(object sender, EventArgs e) { //StartRecording(); // Find your Account SID and Auth Token at twilio.com/console const string apiKeySid = "SKd8aac04eba0fa8ed056c6263990fa85c"; const string apiKeySecret = "uUiLZ8XytHGuo15BPnU4EuZ5kdywBDWO"; // const string roomUniqueName = "Anu"; TwilioClient.Init(apiKeySid, apiKeySecret); var rooms = RoomResource.Read( status: RoomResource.RoomStatusEnum.Completed, //uniqueName: "05212018045230018"); uniqueName: "05212018075717994"); foreach (var room in rooms) { Console.WriteLine(room.Sid); string roomSid = room.Sid; //Console.WriteLine(room.Sid); //const string roomSid = "RM9236a49ad89bde01060d416c418b1157"; TwilioClient.Init(apiKeySid, apiKeySecret); var recordings = RecordingResource.Read( groupingSid: new List <string>() { roomSid }); foreach (var recording in recordings) { Console.WriteLine(recording.Sid); string recordingSid = recording.Sid; var RetrieveRecording = RoomRecordingResource.Fetch(roomSid, recordingSid); Console.WriteLine(RetrieveRecording.Type); string uri = "https://video.twilio.com/v1/" + $"Rooms/{roomSid}/" + $"Recordings/{recordingSid}/" + "Media/"; var request = (HttpWebRequest)WebRequest.Create(uri); request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(apiKeySid + ":" + apiKeySecret))); request.AllowAutoRedirect = false; string responseBody = new StreamReader(request.GetResponse().GetResponseStream()).ReadToEnd(); var mediaLocation = JsonConvert.DeserializeObject <Dictionary <string, string> >(responseBody)["redirect_to"]; Console.WriteLine(mediaLocation); new WebClient().DownloadFile(mediaLocation, @"C:\Users\bhanushree.rajanna\Desktop\TransferToAmazonVideoFolder" + recording.TrackName + RetrieveRecording.Type + "AudioVideo.mp4"); } } }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console // DANGER! This is insecure. See http://twil.io/secure const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var room = RoomResource.Fetch(pathSid: "RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); Console.WriteLine(room.UniqueName); }
static void Main(string[] args) { // Find your Account SID and Auth Token at twilio.com/console const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; const string recordingSid = "RTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; TwilioClient.Init(accountSid, authToken); var room = RoomResource.Create(uniqueName: "DailyStandup"); Console.WriteLine(room.Sid); }
static async Task <RoomDetails> GetRoomDetailsAsync( RoomResource room, Task <ResourceSet <ParticipantResource> > participantTask) { var participants = await participantTask; return(new RoomDetails { Name = room.UniqueName, MaxParticipants = room.MaxParticipants ?? 0, ParticipantCount = participants.Count() }); }
private async Task <RoomDetails> GetRoomDetailsAsync( RoomResource room, Task <ResourceSet <ParticipantResource> > participantTask) { ResourceSet <ParticipantResource> participants = await participantTask; return(new RoomDetails { Name = room.UniqueName, MaxParticipants = room.MaxParticipants ?? 0, ParticipantCount = participants.ToList().Count }); }
static void Main(string[] args) { // Find your Account SID and Auth Token at twilio.com/console // To set up environmental variables, see http://twil.io/secure const string apiKeySid = Environment.GetEnvironmentVariable("TWILIO_API_KEY_SID"); const string apiKeySecret = Environment.GetEnvironmentVariable("TWILIO_API_KEY_SECRET"); TwilioClient.Init(apiKeySid, apiKeySecret); var room = RoomResource.Create(uniqueName: "DailyStandup"); Console.WriteLine(room.Sid); }
public void TestCreateResponse() { var twilioRestClient = Substitute.For<ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); twilioRestClient.Request(Arg.Any<Request>()) .Returns(new Response( System.Net.HttpStatusCode.Created, "{\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"date_created\": \"2015-07-30T20:00:00Z\",\"date_updated\": \"2015-07-30T20:00:00Z\",\"status\": \"in-progress\",\"type\": \"peer-to-peer\",\"sid\": \"RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"enable_turn\": true,\"unique_name\": \"RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"max_participants\": 10,\"duration\": 0,\"status_callback_method\": \"POST\",\"status_callback\": \"\",\"record_participants_on_connect\": false,\"end_time\": \"2015-07-30T20:00:00Z\",\"url\": \"https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"links\": {\"recordings\": \"https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings\"}}" )); var response = RoomResource.Create(client: twilioRestClient); Assert.NotNull(response); }
public void TestReadWithStatusResponse() { var twilioRestClient = Substitute.For<ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); twilioRestClient.Request(Arg.Any<Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"rooms\": [{\"sid\": \"RM4070b618362c1682b2385b1f9982833c\",\"status\": \"completed\",\"date_created\": \"2017-04-03T22:21:49Z\",\"date_updated\": \"2017-04-03T22:21:51Z\",\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"type\": \"peer-to-peer\",\"enable_turn\": true,\"unique_name\": \"RM4070b618362c1682b2385b1f9982833c\",\"status_callback\": null,\"status_callback_method\": \"POST\",\"end_time\": \"2017-04-03T22:21:51Z\",\"duration\": 2,\"max_participants\": 10,\"record_participants_on_connect\": false,\"url\": \"https://video.twilio.com/v1/Rooms/RM4070b618362c1682b2385b1f9982833c\",\"links\": {\"recordings\": \"https://video.twilio.com/v1/Rooms/RM4070b618362c1682b2385b1f9982833c/Recordings\"}}],\"meta\": {\"page\": 0,\"page_size\": 50,\"first_page_url\": \"https://video.twilio.com/v1/Rooms?PageSize=50&Page=0\",\"previous_page_url\": null,\"url\": \"https://video.twilio.com/v1/Rooms?PageSize=50&Page=0\",\"next_page_url\": null,\"key\": \"rooms\"}}" )); var response = RoomResource.Read(client: twilioRestClient); Assert.NotNull(response); }
public void TestReadEmptyResponse() { var twilioRestClient = Substitute.For<ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); twilioRestClient.Request(Arg.Any<Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"rooms\": [],\"meta\": {\"page\": 0,\"page_size\": 50,\"first_page_url\": \"https://video.twilio.com/v1/Rooms?PageSize=50&Page=0\",\"previous_page_url\": null,\"url\": \"https://video.twilio.com/v1/Rooms?PageSize=50&Page=0\",\"next_page_url\": null,\"key\": \"rooms\"}}" )); var response = RoomResource.Read(client: twilioRestClient); Assert.NotNull(response); }
// [WebMethod] // public static void StartRecording() // { //ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "Func()", true); // } //} protected void RecordingBtn_Click(object sender, EventArgs e) { //StartRecording(); // Find your Account SID and Auth Token at twilio.com/console const string apiKeySid = "SK26a5ad58fe67cd4192caf9d49c11e160"; const string apiKeySecret = "3ROMylcwSwpUCn0ROstqRgSWmGr4alvk"; // const string roomUniqueName = "Anu"; TwilioClient.Init(apiKeySid, apiKeySecret); var rooms = RoomResource.Read( status: RoomResource.RoomStatusEnum.Completed, uniqueName: "Room"); foreach (var room in rooms) { Console.WriteLine(room.Sid); string roomSid = room.Sid; //Console.WriteLine(room.Sid); //const string roomSid = "RM9236a49ad89bde01060d416c418b1157"; TwilioClient.Init(apiKeySid, apiKeySecret); var recordings = RecordingResource.Read( groupingSid: new List <string>() { roomSid }); foreach (var recording in recordings) { Console.WriteLine(recording.Sid); string recordingSid = recording.Sid; var RetrieveRecording = RoomRecordingResource.Fetch(roomSid, recordingSid); Console.WriteLine(RetrieveRecording.Type); string uri = "https://video.twilio.com/v1/" + $"Rooms/{roomSid}/" + $"Recordings/{recordingSid}/" + "Media/"; var request = (HttpWebRequest)WebRequest.Create(uri); request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(apiKeySid + ":" + apiKeySecret))); request.AllowAutoRedirect = false; string responseBody = new StreamReader(request.GetResponse().GetResponseStream()).ReadToEnd(); var mediaLocation = JsonConvert.DeserializeObject <Dictionary <string, string> >(responseBody)["redirect_to"]; Console.WriteLine(mediaLocation); new WebClient().DownloadFile(mediaLocation, @"C:\Users\bhanushree.rajanna\Desktop\videostore\" + recording.TrackName + RetrieveRecording.Type + "Room.mp4"); } } }
/// <summary> /// This function will create video meeting room /// </summary> /// <param name="roomName"></param> /// <returns></returns> public string CreateVideoRoom(string roomName, int maxParticipants, string statusCallback = "") { TwilioClient.Init(_twilioSettings.AccountSID, _twilioSettings.AuthToken); var room = RoomResource.Create( recordParticipantsOnConnect: true, statusCallback: new Uri(statusCallback), type: RoomResource.RoomTypeEnum.Group, maxParticipants: maxParticipants, uniqueName: roomName ); return(room.Sid); }
public static RoomResource MapRoomToRoomResource(Room room) { var roomResource = new RoomResource { Id = room.Id, Number = room.Number, Price = room.Price, Standard = room.Standard, Type = room.Type, AccomodationId = room.AccomodationId }; return(roomResource); }
public static Room MapRoomResourceToRoom(RoomResource roomResource) { var room = new Room { Id = roomResource.Id, Number = roomResource.Number, Price = roomResource.Price, Standard = roomResource.Standard, Type = roomResource.Type, AccomodationId = roomResource.AccomodationId }; return(room); }
static void Main(string[] args) { // Find your Account SID and Auth Token at twilio.com/console const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; const string roomSid = "RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; TwilioClient.Init(accountSid, authToken); var room = RoomResource.Update(roomSid, RoomResource.RoomStatusEnum.Completed); Console.WriteLine(room.UniqueName); }
static void Main(string[] args) { // Find your Account SID and Auth Token at twilio.com/console const string apiKeySid = "SKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string apiKeySecret = "your_api_key_secret"; const string roomSid = "RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; TwilioClient.Init(apiKeySid, apiKeySecret); var room = RoomResource.Update(roomSid, RoomResource.RoomStatusEnum.Completed); Console.WriteLine(room.UniqueName); }
public string CreateRoom(string token, string roomUniqueName) { TwilioClient.Init(_apiAccountSid, _accountSid); var room = RoomResource.Create(new CreateRoomOptions() { UniqueName = roomUniqueName, EnableTurn = true, Type = RoomResource.RoomTypeEnum.Group, RecordParticipantsOnConnect = true }); return(room.Sid); }
public void TestUpdateResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"date_created\": \"2015-07-30T20:00:00Z\",\"date_updated\": \"2015-07-30T20:00:00Z\",\"status\": \"completed\",\"type\": \"peer-to-peer\",\"sid\": \"RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"enable_turn\": true,\"unique_name\": \"unique_name\",\"max_participants\": 10,\"max_concurrent_published_tracks\": 10,\"status_callback_method\": \"POST\",\"status_callback\": \"\",\"record_participants_on_connect\": false,\"video_codecs\": [\"VP8\"],\"media_region\": \"us1\",\"end_time\": \"2015-07-30T20:00:00Z\",\"duration\": 10,\"url\": \"https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"links\": {\"participants\": \"https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants\",\"recordings\": \"https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings\",\"recording_rules\": \"https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/RecordingRules\"}}" )); var response = RoomResource.Update("RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", RoomResource.RoomStatusEnum.InProgress, client: twilioRestClient); Assert.NotNull(response); }