class Bandwidth::Conference

The Conference resource allows you create conferences, add members to it, play audio and other things related to conferencing.

Public Class Methods

create(client, data) click to toggle source

Create a conference. @param client [Client] optional client instance to make requests @param data [Hash] data to create a conference @return [Conference] created conference @example

conference = Conference.create(client, :from => "number")
# File lib/bandwidth/conference.rb, line 27
def self.create(client, data)
  headers = client.make_request(:post, client.concat_user_path(CONFERENCE_PATH), data)[1]
  id = Client.get_id_from_location_header(headers[:location])
  self.get(client, id)
end
get(client, id) click to toggle source

Get information about a conference @param client [Client] optional client instance to make requests @param id [String] id of a conference @return [Conference] conference instance @example

conference = Conference.get(client, "id")
# File lib/bandwidth/conference.rb, line 15
def self.get(client, id)
  item = client.make_request(:get, client.concat_user_path("#{CONFERENCE_PATH}/#{id}"))[0]
  Conference.new(item, client)
end

Public Instance Methods

complete() click to toggle source

Terminate Conference

# File lib/bandwidth/conference.rb, line 48
def complete()
  update(:state => 'completed')
end
create_member(data) click to toggle source

Add a member to a conference. @param data [Hash] data to add member to a conference @return [ConferenceMember] created member @example

member = conference.create_member(:call_id=>"id")
# File lib/bandwidth/conference.rb, line 65
def create_member(data)
  headers = @client.make_request(:post, @client.concat_user_path("#{CONFERENCE_PATH}/#{id}/members"), data)[1]
  id = Client.get_id_from_location_header(headers[:location])
  get_member(id)
end
get_member(member_id) click to toggle source

Retrieve information about a particular conference member @param member_id [String] id of member @return [ConferenceMember] member information @example

member = conference.get_member("id")
# File lib/bandwidth/conference.rb, line 76
def get_member(member_id)
  member = ConferenceMember.new(@client.make_request(:get, @client.concat_user_path("#{CONFERENCE_PATH}/#{id}/members/#{member_id}"))[0],
                       @client)
  member.conference_id = id
  member
end
get_members() click to toggle source

List all members from a conference @return [Array] array of ConferenceMember instances @example

members = conference.get_members()
# File lib/bandwidth/conference.rb, line 87
def get_members()
  @client.make_request(:get, @client.concat_user_path("#{CONFERENCE_PATH}/#{id}/members"))[0].map do |i|
    member = ConferenceMember.new(i, @client)
    member.conference_id = id
    member
  end
end
mute() click to toggle source

Prevent all members from speaking

# File lib/bandwidth/conference.rb, line 43
def mute()
  update(:mute => true)
end
play_audio(data) click to toggle source

Play audio to a conference @param data [Hash] audio options @example

conference.play_audio(:file_url=>"http://host1")
# File lib/bandwidth/conference.rb, line 56
def play_audio(data)
  @client.make_request(:post, @client.concat_user_path("#{CONFERENCE_PATH}/#{id}/audio"), data)[0]
end
update(data) click to toggle source

Update a conference @param data [Hash] changed data @example

conference.update(:mute=>false)
# File lib/bandwidth/conference.rb, line 38
def update(data)
  @client.make_request(:post, @client.concat_user_path("#{CONFERENCE_PATH}/#{id}"), data)[0]
end