Exemplo n.º 1
0
		/// <summary>
		/// Returns a list of conferences within an account. The list includes paging information and is sorted by DateUpdated, with most recent conferences first.
		/// </summary>
		/// <param name="options">List filter options. Only properties with values are included in request.</param>
		/// <param name="callback">Method to call upon successful completion</param>
        public virtual void ListConferences(ConferenceListRequest options, Action<ConferenceResult> callback)
		{
			var request = new RestRequest();
			request.Resource = "Accounts/{AccountSid}/Conferences.json";

			AddConferenceListOptions(options, request);

			ExecuteAsync<ConferenceResult>(request, (response) => callback(response));
		}
Exemplo n.º 2
0
        /// <summary>
        /// Returns a list of conferences within an account. 
        /// The list includes paging information.
        /// Makes a POST request to the Conferences List resource.
        /// </summary>
        /// <param name="options">List filter options. Only properties with values are included in request.</param>
        public virtual async Task<ConferenceResult> ListConferencesAsync(ConferenceListRequest options)
        {
            var request = new RestRequest();
            request.Resource = "Accounts/{AccountSid}/Conferences.json";

            AddConferenceListOptions(options, request);

            return await Execute<ConferenceResult>(request);
        }
Exemplo n.º 3
0
        private async Task<ConferenceResult> ListConferencesAsyncInternal(ConferenceListRequest options)
        {
            var request = new RestRequest();
            request.Resource = "Accounts/{AccountSid}/Conferences.json";

            AddConferenceListOptions(options, request);

            var result = await ExecuteAsync(request, typeof(ConferenceResult));
            return (ConferenceResult)result;

        }
Exemplo n.º 4
0
        private void AddConferenceListOptions(ConferenceListRequest options, RestRequest request)
		{
			if (options.Status.HasValue()) request.AddParameter("Status", options.Status);
			if (options.FriendlyName.HasValue()) request.AddParameter("FriendlyName", options.FriendlyName);

			var dateCreatedParameterName = GetParameterNameWithEquality(options.DateCreatedComparison, "DateCreated");
			var dateUpdatedParameterName = GetParameterNameWithEquality(options.DateUpdatedComparison, "DateUpdated");

			if (options.DateCreated.HasValue) request.AddParameter(dateCreatedParameterName, options.DateCreated.Value.ToString("yyyy-MM-dd"));
			if (options.DateUpdated.HasValue) request.AddParameter(dateUpdatedParameterName, options.DateUpdated.Value.ToString("yyyy-MM-dd"));

			if (options.Count.HasValue) request.AddParameter("PageSize", options.Count.Value);
			if (options.PageNumber.HasValue) request.AddParameter("Page", options.PageNumber.Value);
		}
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/user/account
        string AccountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        string AuthToken = "your_auth_token";
        var twilio = new TwilioRestClient(AccountSid, AuthToken);

        var request = new ConferenceListRequest();

        var conferences = twilio.ListConferences(request);

        foreach (var conference in conferences.Conferences)
        {
          Console.WriteLine(conference.Status);
        }
    }
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/user/account
        string AccountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        string AuthToken = "your_auth_token";
        var twilio = new TwilioRestClient(AccountSid, AuthToken);

        var request = new ConferenceListRequest();
        request.Status = "in-progress";
        request.DateCreatedComparison = ComparisonType.GreaterThanOrEqualTo;
        request.DateCreated = new DateTime(2009, 07, 06);
        var conferences = twilio.ListConferences(request);

        foreach (var conference in conferences.Conferences)
        {
          Console.WriteLine(conference.Status);
        }
    }
Exemplo n.º 7
0
        /// <summary>
        /// Returns a list of conferences within an account.
        /// The list includes paging information and is sorted by DateUpdated, with most recent conferences first.
        /// Makes a POST request to the Conferences List resource.
        /// </summary>
        /// <param name="options">List filter options. Only properties with values are included in request.</param>
		public IAsyncOperation<ConferenceResult> ListConferencesAsync(ConferenceListRequest options)
        {
            return (IAsyncOperation<ConferenceResult>)AsyncInfo.Run((System.Threading.CancellationToken ct) => ListConferencesAsyncInternal(options));
        }
Exemplo n.º 8
0
        /// <summary>
        /// Returns a list of conferences within an account. 
        /// The list includes paging information and is sorted by DateUpdated, with most recent conferences first.
        /// Makes a POST request to the Conferences List resource.
        /// </summary>
        /// <param name="options">List filter options. Only properties with values are included in request.</param>
        public ConferenceResult ListConferences(ConferenceListRequest options)
        {
            var request = new RestRequest();
            request.Resource = "Accounts/{AccountSid}/Conferences.json";

            AddConferenceListOptions(options, request);

            return Execute<ConferenceResult>(request);
        }
Exemplo n.º 9
0
        /// <summary>
        /// End conference
        /// </summary>
        /// <param name="conferenceName"></param>
        /// <param name="callId"></param>
        public void EndConference(string conferenceName, Guid callId)
        {
            // Get call info
            var call = Get(callId);

            // Update end time
            UpdateConferenceTime(callId, false);

            // Get conference by conference friendly name
            var request = new ConferenceListRequest();
            request.Status = CallStatus.InProgress;
            request.FriendlyName = conferenceName;
            var conferences = Client.ListConferences(request);

            foreach (var conference in conferences.Conferences)
            {
                if (conferenceName.Equals(conference.FriendlyName))
                {
                    // Kick caller and reciever
                    Client.KickConferenceParticipant(conference.Sid, call.CallerSid);
                    Client.KickConferenceParticipant(conference.Sid, call.ReceiverSid);
                }
            }
        }
Exemplo n.º 10
0
 /// <summary>
 /// Returns a list of conferences within an account.
 /// The list includes paging information and is sorted by DateUpdated, with most recent conferences first.
 /// Makes a POST request to the Conferences List resource.
 /// </summary>
 /// <param name="options">List filter options. Only properties with values are included in request.</param>
 public IAsyncOperation <ConferenceResult> ListConferencesAsync(ConferenceListRequest options)
 {
     return((IAsyncOperation <ConferenceResult>)AsyncInfo.Run((System.Threading.CancellationToken ct) => ListConferencesAsyncInternal(options)));
 }