Class: Twilio::REST::Api::V2010::AccountContext::ConferenceContext::ParticipantList

Inherits:
ListResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, account_sid: nil, conference_sid: nil) ⇒ ParticipantList

Initialize the ParticipantList

Parameters:

  • version (Version)

    Version that contains the resource



29
30
31
32
33
34
35
36
# File 'lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb', line 29

def initialize(version, account_sid: nil, conference_sid: nil)
    super(version)
    
    # Path Solution
    @solution = { account_sid: , conference_sid: conference_sid }
    @uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants.json"
    
end

Instance Method Details

#create(from: nil, to: nil, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, label: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_record: :unset, conference_trim: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, region: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, recording_status_callback_event: :unset, conference_recording_status_callback_event: :unset, coaching: :unset, call_sid_to_coach: :unset, jitter_buffer_size: :unset, byoc: :unset, caller_id: :unset, call_reason: :unset, recording_track: :unset, recording_configuration_id: :unset, time_limit: :unset, machine_detection: :unset, machine_detection_timeout: :unset, machine_detection_speech_threshold: :unset, machine_detection_speech_end_threshold: :unset, machine_detection_silence_timeout: :unset, amd_status_callback: :unset, amd_status_callback_method: :unset, trim: :unset, call_token: :unset, passports: :unset, client_notification_url: :unset, caller_display_name: :unset, emergency_caller_position: :unset, emergency_caller_location: :unset, emergency_name: :unset, emergency_address: :unset, emergency_zip_code: :unset, emergency_city: :unset, emergency_state: :unset, emergency_country: :unset) ⇒ ParticipantInstance

Create the ParticipantInstance

Parameters:

  • from (String) (defaults to: nil)

    The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in E.164 format (e.g., +16175551212). Client identifiers are formatted client:name. If using a phone number, it must be a Twilio number or a Verified outgoing caller id for your account. If the to parameter is a phone number, from must also be a phone number. If to is sip address, this value of from should be a username portion to be used to populate the P-Asserted-Identity header that is passed to the SIP endpoint.

  • to (String) (defaults to: nil)

    The phone number, SIP address, Client, TwiML App identifier that received this call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted as sip:name@company.com. Client identifiers are formatted client:name. TwiML App identifiers are formatted app:<APP_SID>. Custom parameters may also be specified.

  • status_callback (String) (defaults to: :unset)

    The URL we should call using the status_callback_method to send status information to your application.

  • status_callback_method (String) (defaults to: :unset)

    The HTTP method we should use to call status_callback. Can be: GET and POST and defaults to POST.

  • status_callback_event (Array[String]) (defaults to: :unset)

    The conference state changes that should generate a call to status_callback. Can be: initiated, ringing, answered, and completed. Separate multiple values with a space. The default value is completed.

  • label (String) (defaults to: :unset)

    A label for this participant. If one is supplied, it may subsequently be used to fetch, update or delete the participant.

  • timeout (String) (defaults to: :unset)

    The number of seconds that we should allow the phone to ring before assuming there is no answer. Can be an integer between 5 and 600, inclusive. The default value is 60. We always add a 5-second timeout buffer to outgoing calls, so value of 10 would result in an actual timeout that was closer to 15 seconds.

  • record (Boolean) (defaults to: :unset)

    Whether to record the participant and their conferences, including the time between conferences. Can be true or false and the default is false.

  • muted (Boolean) (defaults to: :unset)

    Whether the agent is muted in the conference. Can be true or false and the default is false.

  • beep (String) (defaults to: :unset)

    Whether to play a notification beep to the conference when the participant joins. Can be: true, false, onEnter, or onExit. The default value is true.

  • start_conference_on_enter (Boolean) (defaults to: :unset)

    Whether to start the conference when the participant joins, if it has not already started. Can be: true or false and the default is true. If false and the conference has not started, the participant is muted and hears background music until another participant starts the conference.

  • end_conference_on_exit (Boolean) (defaults to: :unset)

    Whether to end the conference when the participant leaves. Can be: true or false and defaults to false.

  • wait_url (String) (defaults to: :unset)

    The URL that Twilio calls using the wait_method before the conference has started. The URL may return an MP3 file, a WAV file, or a TwiML document. The default value is the URL of our standard hold music. If you do not want anything to play while waiting for the conference to start, specify an empty string by setting wait_url to ''. For more details on the allowable verbs within the waitUrl, see the waitUrl attribute in the TwiML instruction.

  • wait_method (String) (defaults to: :unset)

    The HTTP method we should use to call wait_url. Can be GET or POST and the default is POST. When using a static audio file, this should be GET so that we can cache the file.

  • early_media (Boolean) (defaults to: :unset)

    Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. Can be: true or false and defaults to true.

  • max_participants (String) (defaults to: :unset)

    The maximum number of participants in the conference. Can be a positive integer from 2 to 250. The default value is 250.

  • conference_record (String) (defaults to: :unset)

    Whether to record the conference the participant is joining. Can be: true, false, record-from-start, and do-not-record. The default value is false.

  • conference_trim (String) (defaults to: :unset)

    Whether to trim leading and trailing silence from the conference recording. Can be: trim-silence or do-not-trim and defaults to trim-silence.

  • conference_status_callback (String) (defaults to: :unset)

    The URL we should call using the conference_status_callback_method when the conference events in conference_status_callback_event occur. Only the value set by the first participant to join the conference is used. Subsequent conference_status_callback values are ignored.

  • conference_status_callback_method (String) (defaults to: :unset)

    The HTTP method we should use to call conference_status_callback. Can be: GET or POST and defaults to POST.

  • conference_status_callback_event (Array[String]) (defaults to: :unset)

    The conference state changes that should generate a call to conference_status_callback. Can be: start, end, join, leave, mute, hold, modify, speaker, and announcement. Separate multiple values with a space. Defaults to start end.

  • recording_channels (String) (defaults to: :unset)

    The recording channels for the final recording. Can be: mono or dual and the default is mono.

  • recording_status_callback (String) (defaults to: :unset)

    The URL that we should call using the recording_status_callback_method when the recording status changes.

  • recording_status_callback_method (String) (defaults to: :unset)

    The HTTP method we should use when we call recording_status_callback. Can be: GET or POST and defaults to POST.

  • sip_auth_username (String) (defaults to: :unset)

    The SIP username used for authentication.

  • sip_auth_password (String) (defaults to: :unset)

    The SIP password for authentication.

  • region (String) (defaults to: :unset)

    The region where we should mix the recorded audio. Can be:us1, us2, ie1, de1, sg1, br1, au1, or jp1.

  • conference_recording_status_callback (String) (defaults to: :unset)

    The URL we should call using the conference_recording_status_callback_method when the conference recording is available.

  • conference_recording_status_callback_method (String) (defaults to: :unset)

    The HTTP method we should use to call conference_recording_status_callback. Can be: GET or POST and defaults to POST.

  • recording_status_callback_event (Array[String]) (defaults to: :unset)

    The recording state changes that should generate a call to recording_status_callback. Can be: started, in-progress, paused, resumed, stopped, completed, failed, and absent. Separate multiple values with a space, ex: 'in-progress completed failed'.

  • conference_recording_status_callback_event (Array[String]) (defaults to: :unset)

    The conference recording state changes that generate a call to conference_recording_status_callback. Can be: in-progress, completed, failed, and absent. Separate multiple values with a space, ex: 'in-progress completed failed'

  • coaching (Boolean) (defaults to: :unset)

    Whether the participant is coaching another call. Can be: true or false. If not present, defaults to false unless call_sid_to_coach is defined. If true, call_sid_to_coach must be defined.

  • call_sid_to_coach (String) (defaults to: :unset)

    The SID of the participant who is being coached. The participant being coached is the only participant who can hear the participant who is coaching.

  • jitter_buffer_size (String) (defaults to: :unset)

    Jitter buffer size for the connecting participant. Twilio will use this setting to apply Jitter Buffer before participant's audio is mixed into the conference. Can be: off, small, medium, and large. Default to large.

  • byoc (String) (defaults to: :unset)

    The SID of a BYOC (Bring Your Own Carrier) trunk to route this call with. Note that byoc is only meaningful when to is a phone number; it will otherwise be ignored. (Beta)

  • caller_id (String) (defaults to: :unset)

    The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in E.164 format (e.g., +16175551212). Client identifiers are formatted client:name. If using a phone number, it must be a Twilio number or a Verified outgoing caller id for your account. If the to parameter is a phone number, callerId must also be a phone number. If to is sip address, this value of callerId should be a username portion to be used to populate the From header that is passed to the SIP endpoint.

  • call_reason (String) (defaults to: :unset)

    The Reason for the outgoing call. Use it to specify the purpose of the call that is presented on the called party's phone. (Branded Calls Beta)

  • recording_track (String) (defaults to: :unset)

    The audio track to record for the call. Can be: inbound, outbound or both. The default is both. inbound records the audio that is received by Twilio. outbound records the audio that is sent from Twilio. both records the audio that is received and sent by Twilio.

  • recording_configuration_id (String) (defaults to: :unset)

    The identifier of the configuration to be used when creating and processing the recording

  • time_limit (String) (defaults to: :unset)

    The maximum duration of the call in seconds. Constraints depend on account and configuration.

  • machine_detection (String) (defaults to: :unset)

    Whether to detect if a human, answering machine, or fax has picked up the call. Can be: Enable or DetectMessageEnd. Use Enable if you would like us to return AnsweredBy as soon as the called party is identified. Use DetectMessageEnd, if you would like to leave a message on an answering machine. For more information, see Answering Machine Detection.

  • machine_detection_timeout (String) (defaults to: :unset)

    The number of seconds that we should attempt to detect an answering machine before timing out and sending a voice request with AnsweredBy of unknown. The default timeout is 30 seconds.

  • machine_detection_speech_threshold (String) (defaults to: :unset)

    The number of milliseconds that is used as the measuring stick for the length of the speech activity, where durations lower than this value will be interpreted as a human and longer than this value as a machine. Possible Values: 1000-6000. Default: 2400.

  • machine_detection_speech_end_threshold (String) (defaults to: :unset)

    The number of milliseconds of silence after speech activity at which point the speech activity is considered complete. Possible Values: 500-5000. Default: 1200.

  • machine_detection_silence_timeout (String) (defaults to: :unset)

    The number of milliseconds of initial silence after which an unknown AnsweredBy result will be returned. Possible Values: 2000-10000. Default: 5000.

  • amd_status_callback (String) (defaults to: :unset)

    The URL that we should call using the amd_status_callback_method to notify customer application whether the call was answered by human, machine or fax.

  • amd_status_callback_method (String) (defaults to: :unset)

    The HTTP method we should use when calling the amd_status_callback URL. Can be: GET or POST and the default is POST.

  • trim (String) (defaults to: :unset)

    Whether to trim any leading and trailing silence from the participant recording. Can be: trim-silence or do-not-trim and the default is trim-silence.

  • call_token (String) (defaults to: :unset)

    A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.

  • passports (String) (defaults to: :unset)

    The STIR/SHAKEN passport for this call, provided as a base64 encoded string. Multiple passports (at max 5) are comma separated and provided as base64 encoded string

  • client_notification_url (String) (defaults to: :unset)

    The URL that we should use to deliver push call notification.

  • caller_display_name (String) (defaults to: :unset)

    The name that populates the display name in the From header. Must be between 2 and 255 characters. Only applicable for calls to sip address.

  • emergency_caller_position (String) (defaults to: :unset)

    The emergency caller's GPS coordinates in decimal degrees format. Format: \"latitude longitude\" (space-separated) - Latitude: decimal degrees, range -90.0 to +90.0 (negative for South, positive for North) - Longitude: decimal degrees, range -180.0 to +180.0 (negative for West, positive for East) - Precision: up to 6 decimal places recommended for meter-level accuracy Note: If the value exceeds 150 characters, only the first 150 characters will be used.

  • emergency_caller_location (String) (defaults to: :unset)

    The emergency caller's physical location description within a building or facility. Note: If the value exceeds 20 characters, only the first 20 characters will be used.

  • emergency_name (String) (defaults to: :unset)

    The emergency caller's organization or entity name. Note: If the value exceeds 20 characters, only the first 20 characters will be used.

  • emergency_address (String) (defaults to: :unset)

    The emergency caller's street address including street number and street name. Note: If the value exceeds 60 characters, only the first 60 characters will be used.

  • emergency_zip_code (String) (defaults to: :unset)

    The emergency caller's postal code or ZIP code. Note: If the value exceeds 20 characters, only the first 20 characters will be used.

  • emergency_city (String) (defaults to: :unset)

    The emergency caller's city or municipality name. Should be the official city name as recognized by local authorities. Used in combination with state and country for emergency call routing. Note: If the value exceeds 20 characters, only the first 20 characters will be used.

  • emergency_state (String) (defaults to: :unset)

    The emergency caller's state or province. Note: If the value exceeds 20 characters, only the first 20 characters will be used.

  • emergency_country (String) (defaults to: :unset)

    The emergency caller's country. Currently supported US and CA only. Note: If the value exceeds 20 characters, only the first 20 characters will be used.

Returns:



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
# File 'lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb', line 100

def create(
  from: nil, 
  to: nil, 
  status_callback: :unset, 
  status_callback_method: :unset, 
  status_callback_event: :unset, 
  label: :unset, 
  timeout: :unset, 
  record: :unset, 
  muted: :unset, 
  beep: :unset, 
  start_conference_on_enter: :unset, 
  end_conference_on_exit: :unset, 
  wait_url: :unset, 
  wait_method: :unset, 
  early_media: :unset, 
  max_participants: :unset, 
  conference_record: :unset, 
  conference_trim: :unset, 
  conference_status_callback: :unset, 
  conference_status_callback_method: :unset, 
  conference_status_callback_event: :unset, 
  recording_channels: :unset, 
  recording_status_callback: :unset, 
  recording_status_callback_method: :unset, 
  sip_auth_username: :unset, 
  sip_auth_password: :unset, 
  region: :unset, 
  conference_recording_status_callback: :unset, 
  conference_recording_status_callback_method: :unset, 
  recording_status_callback_event: :unset, 
  conference_recording_status_callback_event: :unset, 
  coaching: :unset, 
  call_sid_to_coach: :unset, 
  jitter_buffer_size: :unset, 
  byoc: :unset, 
  caller_id: :unset, 
  call_reason: :unset, 
  recording_track: :unset, 
  recording_configuration_id: :unset, 
  time_limit: :unset, 
  machine_detection: :unset, 
  machine_detection_timeout: :unset, 
  machine_detection_speech_threshold: :unset, 
  machine_detection_speech_end_threshold: :unset, 
  machine_detection_silence_timeout: :unset, 
  amd_status_callback: :unset, 
  amd_status_callback_method: :unset, 
  trim: :unset, 
  call_token: :unset, 
  passports: :unset, 
  client_notification_url: :unset, 
  caller_display_name: :unset, 
  emergency_caller_position: :unset, 
  emergency_caller_location: :unset, 
  emergency_name: :unset, 
  emergency_address: :unset, 
  emergency_zip_code: :unset, 
  emergency_city: :unset, 
  emergency_state: :unset, 
  emergency_country: :unset
)

    data = Twilio::Values.of({
        'From' => from,
        'To' => to,
        'StatusCallback' => status_callback,
        'StatusCallbackMethod' => status_callback_method,
        'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
        'Label' => label,
        'Timeout' => timeout,
        'Record' => record,
        'Muted' => muted,
        'Beep' => beep,
        'StartConferenceOnEnter' => start_conference_on_enter,
        'EndConferenceOnExit' => end_conference_on_exit,
        'WaitUrl' => wait_url,
        'WaitMethod' => wait_method,
        'EarlyMedia' => early_media,
        'MaxParticipants' => max_participants,
        'ConferenceRecord' => conference_record,
        'ConferenceTrim' => conference_trim,
        'ConferenceStatusCallback' => conference_status_callback,
        'ConferenceStatusCallbackMethod' => conference_status_callback_method,
        'ConferenceStatusCallbackEvent' => Twilio.serialize_list(conference_status_callback_event) { |e| e },
        'RecordingChannels' => recording_channels,
        'RecordingStatusCallback' => recording_status_callback,
        'RecordingStatusCallbackMethod' => recording_status_callback_method,
        'SipAuthUsername' => sip_auth_username,
        'SipAuthPassword' => sip_auth_password,
        'Region' => region,
        'ConferenceRecordingStatusCallback' => conference_recording_status_callback,
        'ConferenceRecordingStatusCallbackMethod' => conference_recording_status_callback_method,
        'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
        'ConferenceRecordingStatusCallbackEvent' => Twilio.serialize_list(conference_recording_status_callback_event) { |e| e },
        'Coaching' => coaching,
        'CallSidToCoach' => call_sid_to_coach,
        'JitterBufferSize' => jitter_buffer_size,
        'Byoc' => byoc,
        'CallerId' => caller_id,
        'CallReason' => call_reason,
        'RecordingTrack' => recording_track,
        'RecordingConfigurationId' => recording_configuration_id,
        'TimeLimit' => time_limit,
        'MachineDetection' => machine_detection,
        'MachineDetectionTimeout' => machine_detection_timeout,
        'MachineDetectionSpeechThreshold' => machine_detection_speech_threshold,
        'MachineDetectionSpeechEndThreshold' => machine_detection_speech_end_threshold,
        'MachineDetectionSilenceTimeout' => machine_detection_silence_timeout,
        'AmdStatusCallback' => amd_status_callback,
        'AmdStatusCallbackMethod' => amd_status_callback_method,
        'Trim' => trim,
        'CallToken' => call_token,
        'Passports' => passports,
        'ClientNotificationUrl' => client_notification_url,
        'CallerDisplayName' => caller_display_name,
        'EmergencyCallerPosition' => emergency_caller_position,
        'EmergencyCallerLocation' => emergency_caller_location,
        'EmergencyName' => emergency_name,
        'EmergencyAddress' => emergency_address,
        'EmergencyZipCode' => emergency_zip_code,
        'EmergencyCity' => emergency_city,
        'EmergencyState' => emergency_state,
        'EmergencyCountry' => emergency_country,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    payload = @version.create('POST', @uri, data: data, headers: headers)
    ParticipantInstance.new(
        @version,
        payload,
        account_sid: @solution[:account_sid],
        conference_sid: @solution[:conference_sid],
    )
end

#create_with_metadata(from: nil, to: nil, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, label: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_record: :unset, conference_trim: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, region: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, recording_status_callback_event: :unset, conference_recording_status_callback_event: :unset, coaching: :unset, call_sid_to_coach: :unset, jitter_buffer_size: :unset, byoc: :unset, caller_id: :unset, call_reason: :unset, recording_track: :unset, recording_configuration_id: :unset, time_limit: :unset, machine_detection: :unset, machine_detection_timeout: :unset, machine_detection_speech_threshold: :unset, machine_detection_speech_end_threshold: :unset, machine_detection_silence_timeout: :unset, amd_status_callback: :unset, amd_status_callback_method: :unset, trim: :unset, call_token: :unset, passports: :unset, client_notification_url: :unset, caller_display_name: :unset, emergency_caller_position: :unset, emergency_caller_location: :unset, emergency_name: :unset, emergency_address: :unset, emergency_zip_code: :unset, emergency_city: :unset, emergency_state: :unset, emergency_country: :unset) ⇒ ParticipantInstance

Create the ParticipantInstanceMetadata

Parameters:

  • from (String) (defaults to: nil)

    The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in E.164 format (e.g., +16175551212). Client identifiers are formatted client:name. If using a phone number, it must be a Twilio number or a Verified outgoing caller id for your account. If the to parameter is a phone number, from must also be a phone number. If to is sip address, this value of from should be a username portion to be used to populate the P-Asserted-Identity header that is passed to the SIP endpoint.

  • to (String) (defaults to: nil)

    The phone number, SIP address, Client, TwiML App identifier that received this call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted as sip:name@company.com. Client identifiers are formatted client:name. TwiML App identifiers are formatted app:<APP_SID>. Custom parameters may also be specified.

  • status_callback (String) (defaults to: :unset)

    The URL we should call using the status_callback_method to send status information to your application.

  • status_callback_method (String) (defaults to: :unset)

    The HTTP method we should use to call status_callback. Can be: GET and POST and defaults to POST.

  • status_callback_event (Array[String]) (defaults to: :unset)

    The conference state changes that should generate a call to status_callback. Can be: initiated, ringing, answered, and completed. Separate multiple values with a space. The default value is completed.

  • label (String) (defaults to: :unset)

    A label for this participant. If one is supplied, it may subsequently be used to fetch, update or delete the participant.

  • timeout (String) (defaults to: :unset)

    The number of seconds that we should allow the phone to ring before assuming there is no answer. Can be an integer between 5 and 600, inclusive. The default value is 60. We always add a 5-second timeout buffer to outgoing calls, so value of 10 would result in an actual timeout that was closer to 15 seconds.

  • record (Boolean) (defaults to: :unset)

    Whether to record the participant and their conferences, including the time between conferences. Can be true or false and the default is false.

  • muted (Boolean) (defaults to: :unset)

    Whether the agent is muted in the conference. Can be true or false and the default is false.

  • beep (String) (defaults to: :unset)

    Whether to play a notification beep to the conference when the participant joins. Can be: true, false, onEnter, or onExit. The default value is true.

  • start_conference_on_enter (Boolean) (defaults to: :unset)

    Whether to start the conference when the participant joins, if it has not already started. Can be: true or false and the default is true. If false and the conference has not started, the participant is muted and hears background music until another participant starts the conference.

  • end_conference_on_exit (Boolean) (defaults to: :unset)

    Whether to end the conference when the participant leaves. Can be: true or false and defaults to false.

  • wait_url (String) (defaults to: :unset)

    The URL that Twilio calls using the wait_method before the conference has started. The URL may return an MP3 file, a WAV file, or a TwiML document. The default value is the URL of our standard hold music. If you do not want anything to play while waiting for the conference to start, specify an empty string by setting wait_url to ''. For more details on the allowable verbs within the waitUrl, see the waitUrl attribute in the TwiML instruction.

  • wait_method (String) (defaults to: :unset)

    The HTTP method we should use to call wait_url. Can be GET or POST and the default is POST. When using a static audio file, this should be GET so that we can cache the file.

  • early_media (Boolean) (defaults to: :unset)

    Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. Can be: true or false and defaults to true.

  • max_participants (String) (defaults to: :unset)

    The maximum number of participants in the conference. Can be a positive integer from 2 to 250. The default value is 250.

  • conference_record (String) (defaults to: :unset)

    Whether to record the conference the participant is joining. Can be: true, false, record-from-start, and do-not-record. The default value is false.

  • conference_trim (String) (defaults to: :unset)

    Whether to trim leading and trailing silence from the conference recording. Can be: trim-silence or do-not-trim and defaults to trim-silence.

  • conference_status_callback (String) (defaults to: :unset)

    The URL we should call using the conference_status_callback_method when the conference events in conference_status_callback_event occur. Only the value set by the first participant to join the conference is used. Subsequent conference_status_callback values are ignored.

  • conference_status_callback_method (String) (defaults to: :unset)

    The HTTP method we should use to call conference_status_callback. Can be: GET or POST and defaults to POST.

  • conference_status_callback_event (Array[String]) (defaults to: :unset)

    The conference state changes that should generate a call to conference_status_callback. Can be: start, end, join, leave, mute, hold, modify, speaker, and announcement. Separate multiple values with a space. Defaults to start end.

  • recording_channels (String) (defaults to: :unset)

    The recording channels for the final recording. Can be: mono or dual and the default is mono.

  • recording_status_callback (String) (defaults to: :unset)

    The URL that we should call using the recording_status_callback_method when the recording status changes.

  • recording_status_callback_method (String) (defaults to: :unset)

    The HTTP method we should use when we call recording_status_callback. Can be: GET or POST and defaults to POST.

  • sip_auth_username (String) (defaults to: :unset)

    The SIP username used for authentication.

  • sip_auth_password (String) (defaults to: :unset)

    The SIP password for authentication.

  • region (String) (defaults to: :unset)

    The region where we should mix the recorded audio. Can be:us1, us2, ie1, de1, sg1, br1, au1, or jp1.

  • conference_recording_status_callback (String) (defaults to: :unset)

    The URL we should call using the conference_recording_status_callback_method when the conference recording is available.

  • conference_recording_status_callback_method (String) (defaults to: :unset)

    The HTTP method we should use to call conference_recording_status_callback. Can be: GET or POST and defaults to POST.

  • recording_status_callback_event (Array[String]) (defaults to: :unset)

    The recording state changes that should generate a call to recording_status_callback. Can be: started, in-progress, paused, resumed, stopped, completed, failed, and absent. Separate multiple values with a space, ex: 'in-progress completed failed'.

  • conference_recording_status_callback_event (Array[String]) (defaults to: :unset)

    The conference recording state changes that generate a call to conference_recording_status_callback. Can be: in-progress, completed, failed, and absent. Separate multiple values with a space, ex: 'in-progress completed failed'

  • coaching (Boolean) (defaults to: :unset)

    Whether the participant is coaching another call. Can be: true or false. If not present, defaults to false unless call_sid_to_coach is defined. If true, call_sid_to_coach must be defined.

  • call_sid_to_coach (String) (defaults to: :unset)

    The SID of the participant who is being coached. The participant being coached is the only participant who can hear the participant who is coaching.

  • jitter_buffer_size (String) (defaults to: :unset)

    Jitter buffer size for the connecting participant. Twilio will use this setting to apply Jitter Buffer before participant's audio is mixed into the conference. Can be: off, small, medium, and large. Default to large.

  • byoc (String) (defaults to: :unset)

    The SID of a BYOC (Bring Your Own Carrier) trunk to route this call with. Note that byoc is only meaningful when to is a phone number; it will otherwise be ignored. (Beta)

  • caller_id (String) (defaults to: :unset)

    The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in E.164 format (e.g., +16175551212). Client identifiers are formatted client:name. If using a phone number, it must be a Twilio number or a Verified outgoing caller id for your account. If the to parameter is a phone number, callerId must also be a phone number. If to is sip address, this value of callerId should be a username portion to be used to populate the From header that is passed to the SIP endpoint.

  • call_reason (String) (defaults to: :unset)

    The Reason for the outgoing call. Use it to specify the purpose of the call that is presented on the called party's phone. (Branded Calls Beta)

  • recording_track (String) (defaults to: :unset)

    The audio track to record for the call. Can be: inbound, outbound or both. The default is both. inbound records the audio that is received by Twilio. outbound records the audio that is sent from Twilio. both records the audio that is received and sent by Twilio.

  • recording_configuration_id (String) (defaults to: :unset)

    The identifier of the configuration to be used when creating and processing the recording

  • time_limit (String) (defaults to: :unset)

    The maximum duration of the call in seconds. Constraints depend on account and configuration.

  • machine_detection (String) (defaults to: :unset)

    Whether to detect if a human, answering machine, or fax has picked up the call. Can be: Enable or DetectMessageEnd. Use Enable if you would like us to return AnsweredBy as soon as the called party is identified. Use DetectMessageEnd, if you would like to leave a message on an answering machine. For more information, see Answering Machine Detection.

  • machine_detection_timeout (String) (defaults to: :unset)

    The number of seconds that we should attempt to detect an answering machine before timing out and sending a voice request with AnsweredBy of unknown. The default timeout is 30 seconds.

  • machine_detection_speech_threshold (String) (defaults to: :unset)

    The number of milliseconds that is used as the measuring stick for the length of the speech activity, where durations lower than this value will be interpreted as a human and longer than this value as a machine. Possible Values: 1000-6000. Default: 2400.

  • machine_detection_speech_end_threshold (String) (defaults to: :unset)

    The number of milliseconds of silence after speech activity at which point the speech activity is considered complete. Possible Values: 500-5000. Default: 1200.

  • machine_detection_silence_timeout (String) (defaults to: :unset)

    The number of milliseconds of initial silence after which an unknown AnsweredBy result will be returned. Possible Values: 2000-10000. Default: 5000.

  • amd_status_callback (String) (defaults to: :unset)

    The URL that we should call using the amd_status_callback_method to notify customer application whether the call was answered by human, machine or fax.

  • amd_status_callback_method (String) (defaults to: :unset)

    The HTTP method we should use when calling the amd_status_callback URL. Can be: GET or POST and the default is POST.

  • trim (String) (defaults to: :unset)

    Whether to trim any leading and trailing silence from the participant recording. Can be: trim-silence or do-not-trim and the default is trim-silence.

  • call_token (String) (defaults to: :unset)

    A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.

  • passports (String) (defaults to: :unset)

    The STIR/SHAKEN passport for this call, provided as a base64 encoded string. Multiple passports (at max 5) are comma separated and provided as base64 encoded string

  • client_notification_url (String) (defaults to: :unset)

    The URL that we should use to deliver push call notification.

  • caller_display_name (String) (defaults to: :unset)

    The name that populates the display name in the From header. Must be between 2 and 255 characters. Only applicable for calls to sip address.

  • emergency_caller_position (String) (defaults to: :unset)

    The emergency caller's GPS coordinates in decimal degrees format. Format: \"latitude longitude\" (space-separated) - Latitude: decimal degrees, range -90.0 to +90.0 (negative for South, positive for North) - Longitude: decimal degrees, range -180.0 to +180.0 (negative for West, positive for East) - Precision: up to 6 decimal places recommended for meter-level accuracy Note: If the value exceeds 150 characters, only the first 150 characters will be used.

  • emergency_caller_location (String) (defaults to: :unset)

    The emergency caller's physical location description within a building or facility. Note: If the value exceeds 20 characters, only the first 20 characters will be used.

  • emergency_name (String) (defaults to: :unset)

    The emergency caller's organization or entity name. Note: If the value exceeds 20 characters, only the first 20 characters will be used.

  • emergency_address (String) (defaults to: :unset)

    The emergency caller's street address including street number and street name. Note: If the value exceeds 60 characters, only the first 60 characters will be used.

  • emergency_zip_code (String) (defaults to: :unset)

    The emergency caller's postal code or ZIP code. Note: If the value exceeds 20 characters, only the first 20 characters will be used.

  • emergency_city (String) (defaults to: :unset)

    The emergency caller's city or municipality name. Should be the official city name as recognized by local authorities. Used in combination with state and country for emergency call routing. Note: If the value exceeds 20 characters, only the first 20 characters will be used.

  • emergency_state (String) (defaults to: :unset)

    The emergency caller's state or province. Note: If the value exceeds 20 characters, only the first 20 characters will be used.

  • emergency_country (String) (defaults to: :unset)

    The emergency caller's country. Currently supported US and CA only. Note: If the value exceeds 20 characters, only the first 20 characters will be used.

Returns:



304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
# File 'lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb', line 304

def (
  from: nil, 
  to: nil, 
  status_callback: :unset, 
  status_callback_method: :unset, 
  status_callback_event: :unset, 
  label: :unset, 
  timeout: :unset, 
  record: :unset, 
  muted: :unset, 
  beep: :unset, 
  start_conference_on_enter: :unset, 
  end_conference_on_exit: :unset, 
  wait_url: :unset, 
  wait_method: :unset, 
  early_media: :unset, 
  max_participants: :unset, 
  conference_record: :unset, 
  conference_trim: :unset, 
  conference_status_callback: :unset, 
  conference_status_callback_method: :unset, 
  conference_status_callback_event: :unset, 
  recording_channels: :unset, 
  recording_status_callback: :unset, 
  recording_status_callback_method: :unset, 
  sip_auth_username: :unset, 
  sip_auth_password: :unset, 
  region: :unset, 
  conference_recording_status_callback: :unset, 
  conference_recording_status_callback_method: :unset, 
  recording_status_callback_event: :unset, 
  conference_recording_status_callback_event: :unset, 
  coaching: :unset, 
  call_sid_to_coach: :unset, 
  jitter_buffer_size: :unset, 
  byoc: :unset, 
  caller_id: :unset, 
  call_reason: :unset, 
  recording_track: :unset, 
  recording_configuration_id: :unset, 
  time_limit: :unset, 
  machine_detection: :unset, 
  machine_detection_timeout: :unset, 
  machine_detection_speech_threshold: :unset, 
  machine_detection_speech_end_threshold: :unset, 
  machine_detection_silence_timeout: :unset, 
  amd_status_callback: :unset, 
  amd_status_callback_method: :unset, 
  trim: :unset, 
  call_token: :unset, 
  passports: :unset, 
  client_notification_url: :unset, 
  caller_display_name: :unset, 
  emergency_caller_position: :unset, 
  emergency_caller_location: :unset, 
  emergency_name: :unset, 
  emergency_address: :unset, 
  emergency_zip_code: :unset, 
  emergency_city: :unset, 
  emergency_state: :unset, 
  emergency_country: :unset
)

    data = Twilio::Values.of({
        'From' => from,
        'To' => to,
        'StatusCallback' => status_callback,
        'StatusCallbackMethod' => status_callback_method,
        'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
        'Label' => label,
        'Timeout' => timeout,
        'Record' => record,
        'Muted' => muted,
        'Beep' => beep,
        'StartConferenceOnEnter' => start_conference_on_enter,
        'EndConferenceOnExit' => end_conference_on_exit,
        'WaitUrl' => wait_url,
        'WaitMethod' => wait_method,
        'EarlyMedia' => early_media,
        'MaxParticipants' => max_participants,
        'ConferenceRecord' => conference_record,
        'ConferenceTrim' => conference_trim,
        'ConferenceStatusCallback' => conference_status_callback,
        'ConferenceStatusCallbackMethod' => conference_status_callback_method,
        'ConferenceStatusCallbackEvent' => Twilio.serialize_list(conference_status_callback_event) { |e| e },
        'RecordingChannels' => recording_channels,
        'RecordingStatusCallback' => recording_status_callback,
        'RecordingStatusCallbackMethod' => recording_status_callback_method,
        'SipAuthUsername' => sip_auth_username,
        'SipAuthPassword' => sip_auth_password,
        'Region' => region,
        'ConferenceRecordingStatusCallback' => conference_recording_status_callback,
        'ConferenceRecordingStatusCallbackMethod' => conference_recording_status_callback_method,
        'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
        'ConferenceRecordingStatusCallbackEvent' => Twilio.serialize_list(conference_recording_status_callback_event) { |e| e },
        'Coaching' => coaching,
        'CallSidToCoach' => call_sid_to_coach,
        'JitterBufferSize' => jitter_buffer_size,
        'Byoc' => byoc,
        'CallerId' => caller_id,
        'CallReason' => call_reason,
        'RecordingTrack' => recording_track,
        'RecordingConfigurationId' => recording_configuration_id,
        'TimeLimit' => time_limit,
        'MachineDetection' => machine_detection,
        'MachineDetectionTimeout' => machine_detection_timeout,
        'MachineDetectionSpeechThreshold' => machine_detection_speech_threshold,
        'MachineDetectionSpeechEndThreshold' => machine_detection_speech_end_threshold,
        'MachineDetectionSilenceTimeout' => machine_detection_silence_timeout,
        'AmdStatusCallback' => amd_status_callback,
        'AmdStatusCallbackMethod' => amd_status_callback_method,
        'Trim' => trim,
        'CallToken' => call_token,
        'Passports' => passports,
        'ClientNotificationUrl' => client_notification_url,
        'CallerDisplayName' => caller_display_name,
        'EmergencyCallerPosition' => emergency_caller_position,
        'EmergencyCallerLocation' => emergency_caller_location,
        'EmergencyName' => emergency_name,
        'EmergencyAddress' => emergency_address,
        'EmergencyZipCode' => emergency_zip_code,
        'EmergencyCity' => emergency_city,
        'EmergencyState' => emergency_state,
        'EmergencyCountry' => emergency_country,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    response = @version.('POST', @uri, data: data, headers: headers)
    participant_instance = ParticipantInstance.new(
        @version,
        response.body,
        account_sid: @solution[:account_sid],
        conference_sid: @solution[:conference_sid],
    )
    ParticipantInstanceMetadata.new(
        @version,
        participant_instance,
        response.headers,
        response.status_code
    )
end

#eachObject

When passed a block, yields ParticipantInstance records from the API. This operation lazily loads records as efficiently as possible until the limit is reached.



538
539
540
541
542
543
544
545
546
547
548
549
550
# File 'lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb', line 538

def each
    limits = @version.read_limits

    page = self.page(page_size: limits[:page_size], )

    return [].each if page.nil?

    result = @version.stream(page,
        limit: limits[:limit],
        page_limit: limits[:page_limit])
    return [].each if result.nil?
    result.each {|x| yield x}
end

#get_page(target_url) ⇒ Page

Retrieve a single page of ParticipantInstance records from the API. Request is executed immediately.

Parameters:

  • target_url (String)

    API-generated URL for the requested results page

Returns:

  • (Page)

    Page of ParticipantInstance



585
586
587
588
589
590
591
# File 'lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb', line 585

def get_page(target_url)
    response = @version.domain.request(
        'GET',
        target_url
    )
ParticipantPage.new(@version, response, @solution)
end

#list(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil) ⇒ Array

Lists ParticipantInstance records from the API as a list. Unlike stream(), this operation is eager and will load limit records into memory before returning.

Parameters:

  • muted (Boolean) (defaults to: :unset)

    Whether to return only participants that are muted. Can be: true or false.

  • hold (Boolean) (defaults to: :unset)

    Whether to return only participants that are on hold. Can be: true or false.

  • coaching (Boolean) (defaults to: :unset)

    Whether to return only participants who are coaching another call. Can be: true or false.

  • limit (Integer) (defaults to: nil)

    Upper limit for the number of records to return. stream() guarantees to never return more than limit. Default is no limit

  • page_size (Integer) (defaults to: nil)

    Number of records to fetch per request, when not set will use the default value of 50 records. If no page_size is defined but a limit is defined, stream() will attempt to read the limit with the most efficient page size, i.e. min(limit, 1000)

Returns:

  • (Array)

    Array of up to limit results



466
467
468
469
470
471
472
473
474
# File 'lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb', line 466

def list(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
    self.stream(
        muted: muted,
        hold: hold,
        coaching: coaching,
        limit: limit,
        page_size: page_size
    ).entries
end

#list_with_metadata(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil) ⇒ Array

Returns Array of up to limit results.

Parameters:

  • limit (Integer) (defaults to: nil)

    Upper limit for the number of records to return. stream() guarantees to never return more than limit. Default is no limit

  • page_size (Integer) (defaults to: nil)

    Number of records to fetch per request, when not set will use the default value of 50 records. If no page_size is defined but a limit is defined, stream() will attempt to read the limit with the most efficient page size, i.e. min(limit, 1000)

Returns:

  • (Array)

    Array of up to limit results



518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
# File 'lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb', line 518

def (muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
    limits = @version.read_limits(limit, page_size)
    params = Twilio::Values.of({
        'Muted' => muted,
        'Hold' => hold,
        'Coaching' => coaching,
        
        'PageSize' => limits[:page_size],
    });
    headers = Twilio::Values.of({})

    response = @version.page('GET', @uri, params: params, headers: headers)

    ParticipantPageMetadata.new(@version, response, @solution, limits[:limit])
end

#page(muted: :unset, hold: :unset, coaching: :unset, page_token: :unset, page_number: :unset, page_size: :unset) ⇒ Page

Retrieve a single page of ParticipantInstance records from the API. Request is executed immediately.

Parameters:

  • muted (Boolean) (defaults to: :unset)

    Whether to return only participants that are muted. Can be: true or false.

  • hold (Boolean) (defaults to: :unset)

    Whether to return only participants that are on hold. Can be: true or false.

  • coaching (Boolean) (defaults to: :unset)

    Whether to return only participants who are coaching another call. Can be: true or false.

  • page_token (String) (defaults to: :unset)

    PageToken provided by the API

  • page_number (Integer) (defaults to: :unset)

    Page Number, this value is simply for client state

  • page_size (Integer) (defaults to: :unset)

    Number of records to return, defaults to 50

Returns:

  • (Page)

    Page of ParticipantInstance



562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
# File 'lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb', line 562

def page(muted: :unset, hold: :unset, coaching: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
    params = Twilio::Values.of({
        'Muted' => muted,
        'Hold' => hold,
        'Coaching' => coaching,
        'PageToken' => page_token,
        'Page' => page_number,
        'PageSize' => page_size,
    })
    headers = Twilio::Values.of({})
    
    

    response = @version.page('GET', @uri, params: params, headers: headers)

    ParticipantPage.new(@version, response, @solution)
end

#stream(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil) ⇒ Enumerable

Streams Instance records from the API as an Enumerable. This operation lazily loads records as efficiently as possible until the limit is reached.

Parameters:

  • muted (Boolean) (defaults to: :unset)

    Whether to return only participants that are muted. Can be: true or false.

  • hold (Boolean) (defaults to: :unset)

    Whether to return only participants that are on hold. Can be: true or false.

  • coaching (Boolean) (defaults to: :unset)

    Whether to return only participants who are coaching another call. Can be: true or false.

  • limit (Integer) (defaults to: nil)

    Upper limit for the number of records to return. stream() guarantees to never return more than limit. Default is no limit

  • page_size (Integer) (defaults to: nil)

    Number of records to fetch per request, when not set will use the default value of 50 records. If no page_size is defined but a limit is defined, stream() will attempt to read the limit with the most efficient page size, i.e. min(limit, 1000)

Returns:

  • (Enumerable)

    Enumerable that will yield up to limit results



490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
# File 'lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb', line 490

def stream(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
    limits = @version.read_limits(limit, page_size)

    page = self.page(
        muted: muted,
        hold: hold,
        coaching: coaching,
        page_size: limits[:page_size], )

    return [].each if page.nil?

    result = @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
    return [].each if result.nil?
    result
end

#to_sObject

Provide a user friendly representation



596
597
598
# File 'lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb', line 596

def to_s
    '#<Twilio.Api.V2010.ParticipantList>'
end