bandwidth-sdk 3.8.0 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/lib/bandwidth/client.rb +2 -0
- data/lib/bandwidth/configuration.rb +23 -4
- data/lib/bandwidth/http/api_response.rb +2 -0
- data/lib/bandwidth/http/faraday_client.rb +9 -2
- data/lib/bandwidth/messaging_lib/messaging/client.rb +2 -0
- data/lib/bandwidth/messaging_lib/messaging/controllers/api_controller.rb +8 -8
- data/lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/client.rb +2 -0
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/controllers/api_controller.rb +3 -3
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/models/two_factor_verify_request_schema.rb +0 -19
- data/lib/bandwidth/voice_lib/bxml/verbs/bridge.rb +7 -1
- data/lib/bandwidth/voice_lib/bxml/verbs/conference.rb +5 -1
- data/lib/bandwidth/voice_lib/bxml/verbs/gather.rb +5 -1
- data/lib/bandwidth/voice_lib/bxml/verbs/phone_number.rb +5 -1
- data/lib/bandwidth/voice_lib/bxml/verbs/record.rb +5 -1
- data/lib/bandwidth/voice_lib/bxml/verbs/redirect.rb +5 -1
- data/lib/bandwidth/voice_lib/bxml/verbs/ring.rb +15 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/sip_uri.rb +25 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/start_gather.rb +20 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/stop_gather.rb +14 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/tag.rb +13 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/transfer.rb +14 -3
- data/lib/bandwidth/voice_lib/voice/client.rb +2 -0
- data/lib/bandwidth/voice_lib/voice/controllers/api_controller.rb +455 -56
- data/lib/bandwidth/voice_lib/voice/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/voice_lib/voice/models/answer_fallback_method_enum.rb +17 -0
- data/lib/bandwidth/voice_lib/voice/models/api_call_response.rb +45 -0
- data/lib/bandwidth/voice_lib/voice/models/api_create_call_request.rb +117 -12
- data/lib/bandwidth/voice_lib/voice/models/api_modify_call_request.rb +36 -0
- data/lib/bandwidth/voice_lib/voice/models/api_modify_conference_request.rb +107 -0
- data/lib/bandwidth/voice_lib/voice/models/api_transcribe_recording_request.rb +11 -2
- data/lib/bandwidth/voice_lib/voice/models/call_engine_modify_conference_request.rb +74 -2
- data/lib/bandwidth/voice_lib/voice/models/conference_detail.rb +7 -4
- data/lib/bandwidth/voice_lib/voice/models/conference_recording_metadata_response.rb +126 -0
- data/lib/bandwidth/voice_lib/voice/models/recording_metadata_response.rb +32 -4
- data/lib/bandwidth/voice_lib/voice/models/redirect_fallback_method_enum.rb +17 -0
- data/lib/bandwidth/voice_lib/voice/models/status1_enum.rb +4 -1
- data/lib/bandwidth/voice_lib/voice/models/{status2_enum.rb → status3_enum.rb} +3 -3
- data/lib/bandwidth/voice_lib/voice/models/transcription.rb +1 -1
- data/lib/bandwidth/voice_lib/voice.rb +5 -2
- data/lib/bandwidth/web_rtc_lib/utils/web_rtc_transfer.rb +13 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/client.rb +2 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/api_controller.rb +24 -24
- data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb +1 -1
- data/lib/bandwidth.rb +24 -1
- metadata +35 -13
@@ -10,15 +10,71 @@ module Bandwidth
|
|
10
10
|
# @return [StatusEnum]
|
11
11
|
attr_accessor :status
|
12
12
|
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :redirect_url
|
16
|
+
|
17
|
+
# TODO: Write general description for this method
|
18
|
+
# @return [String]
|
19
|
+
attr_accessor :redirect_fallback_url
|
20
|
+
|
21
|
+
# TODO: Write general description for this method
|
22
|
+
# @return [RedirectMethodEnum]
|
23
|
+
attr_accessor :redirect_method
|
24
|
+
|
25
|
+
# TODO: Write general description for this method
|
26
|
+
# @return [RedirectFallbackMethodEnum]
|
27
|
+
attr_accessor :redirect_fallback_method
|
28
|
+
|
29
|
+
# TODO: Write general description for this method
|
30
|
+
# @return [String]
|
31
|
+
attr_accessor :username
|
32
|
+
|
33
|
+
# TODO: Write general description for this method
|
34
|
+
# @return [String]
|
35
|
+
attr_accessor :password
|
36
|
+
|
37
|
+
# TODO: Write general description for this method
|
38
|
+
# @return [String]
|
39
|
+
attr_accessor :fallback_username
|
40
|
+
|
41
|
+
# TODO: Write general description for this method
|
42
|
+
# @return [String]
|
43
|
+
attr_accessor :fallback_password
|
44
|
+
|
13
45
|
# A mapping from model property names to API property names.
|
14
46
|
def self.names
|
15
47
|
@_hash = {} if @_hash.nil?
|
16
48
|
@_hash['status'] = 'status'
|
49
|
+
@_hash['redirect_url'] = 'redirectUrl'
|
50
|
+
@_hash['redirect_fallback_url'] = 'redirectFallbackUrl'
|
51
|
+
@_hash['redirect_method'] = 'redirectMethod'
|
52
|
+
@_hash['redirect_fallback_method'] = 'redirectFallbackMethod'
|
53
|
+
@_hash['username'] = 'username'
|
54
|
+
@_hash['password'] = 'password'
|
55
|
+
@_hash['fallback_username'] = 'fallbackUsername'
|
56
|
+
@_hash['fallback_password'] = 'fallbackPassword'
|
17
57
|
@_hash
|
18
58
|
end
|
19
59
|
|
20
|
-
def initialize(
|
60
|
+
def initialize(redirect_url = nil,
|
61
|
+
status = nil,
|
62
|
+
redirect_fallback_url = nil,
|
63
|
+
redirect_method = nil,
|
64
|
+
redirect_fallback_method = nil,
|
65
|
+
username = nil,
|
66
|
+
password = nil,
|
67
|
+
fallback_username = nil,
|
68
|
+
fallback_password = nil)
|
21
69
|
@status = status
|
70
|
+
@redirect_url = redirect_url
|
71
|
+
@redirect_fallback_url = redirect_fallback_url
|
72
|
+
@redirect_method = redirect_method
|
73
|
+
@redirect_fallback_method = redirect_fallback_method
|
74
|
+
@username = username
|
75
|
+
@password = password
|
76
|
+
@fallback_username = fallback_username
|
77
|
+
@fallback_password = fallback_password
|
22
78
|
end
|
23
79
|
|
24
80
|
# Creates an instance of the object from a hash.
|
@@ -26,10 +82,26 @@ module Bandwidth
|
|
26
82
|
return nil unless hash
|
27
83
|
|
28
84
|
# Extract variables from the hash.
|
85
|
+
redirect_url = hash['redirectUrl']
|
29
86
|
status = hash['status']
|
87
|
+
redirect_fallback_url = hash['redirectFallbackUrl']
|
88
|
+
redirect_method = hash['redirectMethod']
|
89
|
+
redirect_fallback_method = hash['redirectFallbackMethod']
|
90
|
+
username = hash['username']
|
91
|
+
password = hash['password']
|
92
|
+
fallback_username = hash['fallbackUsername']
|
93
|
+
fallback_password = hash['fallbackPassword']
|
30
94
|
|
31
95
|
# Create object from extracted values.
|
32
|
-
CallEngineModifyConferenceRequest.new(
|
96
|
+
CallEngineModifyConferenceRequest.new(redirect_url,
|
97
|
+
status,
|
98
|
+
redirect_fallback_url,
|
99
|
+
redirect_method,
|
100
|
+
redirect_fallback_method,
|
101
|
+
username,
|
102
|
+
password,
|
103
|
+
fallback_username,
|
104
|
+
fallback_password)
|
33
105
|
end
|
34
106
|
end
|
35
107
|
end
|
@@ -3,6 +3,7 @@
|
|
3
3
|
# This file was automatically generated by APIMATIC v2.0
|
4
4
|
# ( https://apimatic.io ).
|
5
5
|
|
6
|
+
require 'date'
|
6
7
|
module Bandwidth
|
7
8
|
# ConferenceDetail Model.
|
8
9
|
class ConferenceDetail < BaseModel
|
@@ -15,11 +16,11 @@ module Bandwidth
|
|
15
16
|
attr_accessor :name
|
16
17
|
|
17
18
|
# TODO: Write general description for this method
|
18
|
-
# @return [
|
19
|
+
# @return [DateTime]
|
19
20
|
attr_accessor :created_time
|
20
21
|
|
21
22
|
# TODO: Write general description for this method
|
22
|
-
# @return [
|
23
|
+
# @return [DateTime]
|
23
24
|
attr_accessor :completed_time
|
24
25
|
|
25
26
|
# TODO: Write general description for this method
|
@@ -77,8 +78,10 @@ module Bandwidth
|
|
77
78
|
# Extract variables from the hash.
|
78
79
|
id = hash['id']
|
79
80
|
name = hash['name']
|
80
|
-
created_time = hash['createdTime']
|
81
|
-
|
81
|
+
created_time = APIHelper.rfc3339(hash['createdTime']) if
|
82
|
+
hash['createdTime']
|
83
|
+
completed_time = APIHelper.rfc3339(hash['completedTime']) if
|
84
|
+
hash['completedTime']
|
82
85
|
conference_event_url = hash['conferenceEventUrl']
|
83
86
|
conference_event_method = hash['conferenceEventMethod']
|
84
87
|
tag = hash['tag']
|
@@ -0,0 +1,126 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require 'date'
|
7
|
+
module Bandwidth
|
8
|
+
# ConferenceRecordingMetadataResponse Model.
|
9
|
+
class ConferenceRecordingMetadataResponse < BaseModel
|
10
|
+
# TODO: Write general description for this method
|
11
|
+
# @return [String]
|
12
|
+
attr_accessor :account_id
|
13
|
+
|
14
|
+
# TODO: Write general description for this method
|
15
|
+
# @return [String]
|
16
|
+
attr_accessor :conference_id
|
17
|
+
|
18
|
+
# TODO: Write general description for this method
|
19
|
+
# @return [String]
|
20
|
+
attr_accessor :name
|
21
|
+
|
22
|
+
# TODO: Write general description for this method
|
23
|
+
# @return [String]
|
24
|
+
attr_accessor :recording_id
|
25
|
+
|
26
|
+
# Format is ISO-8601
|
27
|
+
# @return [String]
|
28
|
+
attr_accessor :duration
|
29
|
+
|
30
|
+
# Format is ISO-8601
|
31
|
+
# @return [Integer]
|
32
|
+
attr_accessor :channels
|
33
|
+
|
34
|
+
# Format is ISO-8601
|
35
|
+
# @return [DateTime]
|
36
|
+
attr_accessor :start_time
|
37
|
+
|
38
|
+
# Format is ISO-8601
|
39
|
+
# @return [DateTime]
|
40
|
+
attr_accessor :end_time
|
41
|
+
|
42
|
+
# Format is ISO-8601
|
43
|
+
# @return [FileFormatEnum]
|
44
|
+
attr_accessor :file_format
|
45
|
+
|
46
|
+
# Format is ISO-8601
|
47
|
+
# @return [Status1Enum]
|
48
|
+
attr_accessor :status
|
49
|
+
|
50
|
+
# Format is ISO-8601
|
51
|
+
# @return [String]
|
52
|
+
attr_accessor :media_url
|
53
|
+
|
54
|
+
# A mapping from model property names to API property names.
|
55
|
+
def self.names
|
56
|
+
@_hash = {} if @_hash.nil?
|
57
|
+
@_hash['account_id'] = 'accountId'
|
58
|
+
@_hash['conference_id'] = 'conferenceId'
|
59
|
+
@_hash['name'] = 'name'
|
60
|
+
@_hash['recording_id'] = 'recordingId'
|
61
|
+
@_hash['duration'] = 'duration'
|
62
|
+
@_hash['channels'] = 'channels'
|
63
|
+
@_hash['start_time'] = 'startTime'
|
64
|
+
@_hash['end_time'] = 'endTime'
|
65
|
+
@_hash['file_format'] = 'fileFormat'
|
66
|
+
@_hash['status'] = 'status'
|
67
|
+
@_hash['media_url'] = 'mediaUrl'
|
68
|
+
@_hash
|
69
|
+
end
|
70
|
+
|
71
|
+
def initialize(account_id = nil,
|
72
|
+
conference_id = nil,
|
73
|
+
name = nil,
|
74
|
+
recording_id = nil,
|
75
|
+
duration = nil,
|
76
|
+
channels = nil,
|
77
|
+
start_time = nil,
|
78
|
+
end_time = nil,
|
79
|
+
file_format = nil,
|
80
|
+
status = nil,
|
81
|
+
media_url = nil)
|
82
|
+
@account_id = account_id
|
83
|
+
@conference_id = conference_id
|
84
|
+
@name = name
|
85
|
+
@recording_id = recording_id
|
86
|
+
@duration = duration
|
87
|
+
@channels = channels
|
88
|
+
@start_time = start_time
|
89
|
+
@end_time = end_time
|
90
|
+
@file_format = file_format
|
91
|
+
@status = status
|
92
|
+
@media_url = media_url
|
93
|
+
end
|
94
|
+
|
95
|
+
# Creates an instance of the object from a hash.
|
96
|
+
def self.from_hash(hash)
|
97
|
+
return nil unless hash
|
98
|
+
|
99
|
+
# Extract variables from the hash.
|
100
|
+
account_id = hash['accountId']
|
101
|
+
conference_id = hash['conferenceId']
|
102
|
+
name = hash['name']
|
103
|
+
recording_id = hash['recordingId']
|
104
|
+
duration = hash['duration']
|
105
|
+
channels = hash['channels']
|
106
|
+
start_time = APIHelper.rfc3339(hash['startTime']) if hash['startTime']
|
107
|
+
end_time = APIHelper.rfc3339(hash['endTime']) if hash['endTime']
|
108
|
+
file_format = hash['fileFormat']
|
109
|
+
status = hash['status']
|
110
|
+
media_url = hash['mediaUrl']
|
111
|
+
|
112
|
+
# Create object from extracted values.
|
113
|
+
ConferenceRecordingMetadataResponse.new(account_id,
|
114
|
+
conference_id,
|
115
|
+
name,
|
116
|
+
recording_id,
|
117
|
+
duration,
|
118
|
+
channels,
|
119
|
+
start_time,
|
120
|
+
end_time,
|
121
|
+
file_format,
|
122
|
+
status,
|
123
|
+
media_url)
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
@@ -3,6 +3,7 @@
|
|
3
3
|
# This file was automatically generated by APIMATIC v2.0
|
4
4
|
# ( https://apimatic.io ).
|
5
5
|
|
6
|
+
require 'date'
|
6
7
|
module Bandwidth
|
7
8
|
# RecordingMetadataResponse Model.
|
8
9
|
class RecordingMetadataResponse < BaseModel
|
@@ -18,6 +19,10 @@ module Bandwidth
|
|
18
19
|
# @return [String]
|
19
20
|
attr_accessor :call_id
|
20
21
|
|
22
|
+
# TODO: Write general description for this method
|
23
|
+
# @return [String]
|
24
|
+
attr_accessor :parent_call_id
|
25
|
+
|
21
26
|
# TODO: Write general description for this method
|
22
27
|
# @return [String]
|
23
28
|
attr_accessor :recording_id
|
@@ -30,6 +35,14 @@ module Bandwidth
|
|
30
35
|
# @return [String]
|
31
36
|
attr_accessor :from
|
32
37
|
|
38
|
+
# TODO: Write general description for this method
|
39
|
+
# @return [String]
|
40
|
+
attr_accessor :transfer_caller_id
|
41
|
+
|
42
|
+
# TODO: Write general description for this method
|
43
|
+
# @return [String]
|
44
|
+
attr_accessor :transfer_to
|
45
|
+
|
33
46
|
# Format is ISO-8601
|
34
47
|
# @return [String]
|
35
48
|
attr_accessor :duration
|
@@ -43,11 +56,11 @@ module Bandwidth
|
|
43
56
|
attr_accessor :channels
|
44
57
|
|
45
58
|
# Format is ISO-8601
|
46
|
-
# @return [
|
59
|
+
# @return [DateTime]
|
47
60
|
attr_accessor :start_time
|
48
61
|
|
49
62
|
# Format is ISO-8601
|
50
|
-
# @return [
|
63
|
+
# @return [DateTime]
|
51
64
|
attr_accessor :end_time
|
52
65
|
|
53
66
|
# Format is ISO-8601
|
@@ -72,9 +85,12 @@ module Bandwidth
|
|
72
85
|
@_hash['application_id'] = 'applicationId'
|
73
86
|
@_hash['account_id'] = 'accountId'
|
74
87
|
@_hash['call_id'] = 'callId'
|
88
|
+
@_hash['parent_call_id'] = 'parentCallId'
|
75
89
|
@_hash['recording_id'] = 'recordingId'
|
76
90
|
@_hash['to'] = 'to'
|
77
91
|
@_hash['from'] = 'from'
|
92
|
+
@_hash['transfer_caller_id'] = 'transferCallerId'
|
93
|
+
@_hash['transfer_to'] = 'transferTo'
|
78
94
|
@_hash['duration'] = 'duration'
|
79
95
|
@_hash['direction'] = 'direction'
|
80
96
|
@_hash['channels'] = 'channels'
|
@@ -90,9 +106,12 @@ module Bandwidth
|
|
90
106
|
def initialize(application_id = nil,
|
91
107
|
account_id = nil,
|
92
108
|
call_id = nil,
|
109
|
+
parent_call_id = nil,
|
93
110
|
recording_id = nil,
|
94
111
|
to = nil,
|
95
112
|
from = nil,
|
113
|
+
transfer_caller_id = nil,
|
114
|
+
transfer_to = nil,
|
96
115
|
duration = nil,
|
97
116
|
direction = nil,
|
98
117
|
channels = nil,
|
@@ -105,9 +124,12 @@ module Bandwidth
|
|
105
124
|
@application_id = application_id
|
106
125
|
@account_id = account_id
|
107
126
|
@call_id = call_id
|
127
|
+
@parent_call_id = parent_call_id
|
108
128
|
@recording_id = recording_id
|
109
129
|
@to = to
|
110
130
|
@from = from
|
131
|
+
@transfer_caller_id = transfer_caller_id
|
132
|
+
@transfer_to = transfer_to
|
111
133
|
@duration = duration
|
112
134
|
@direction = direction
|
113
135
|
@channels = channels
|
@@ -127,14 +149,17 @@ module Bandwidth
|
|
127
149
|
application_id = hash['applicationId']
|
128
150
|
account_id = hash['accountId']
|
129
151
|
call_id = hash['callId']
|
152
|
+
parent_call_id = hash['parentCallId']
|
130
153
|
recording_id = hash['recordingId']
|
131
154
|
to = hash['to']
|
132
155
|
from = hash['from']
|
156
|
+
transfer_caller_id = hash['transferCallerId']
|
157
|
+
transfer_to = hash['transferTo']
|
133
158
|
duration = hash['duration']
|
134
159
|
direction = hash['direction']
|
135
160
|
channels = hash['channels']
|
136
|
-
start_time = hash['startTime']
|
137
|
-
end_time = hash['endTime']
|
161
|
+
start_time = APIHelper.rfc3339(hash['startTime']) if hash['startTime']
|
162
|
+
end_time = APIHelper.rfc3339(hash['endTime']) if hash['endTime']
|
138
163
|
file_format = hash['fileFormat']
|
139
164
|
status = hash['status']
|
140
165
|
media_url = hash['mediaUrl']
|
@@ -145,9 +170,12 @@ module Bandwidth
|
|
145
170
|
RecordingMetadataResponse.new(application_id,
|
146
171
|
account_id,
|
147
172
|
call_id,
|
173
|
+
parent_call_id,
|
148
174
|
recording_id,
|
149
175
|
to,
|
150
176
|
from,
|
177
|
+
transfer_caller_id,
|
178
|
+
transfer_to,
|
151
179
|
duration,
|
152
180
|
direction,
|
153
181
|
channels,
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# RedirectFallbackMethod.
|
8
|
+
class RedirectFallbackMethodEnum
|
9
|
+
REDIRECT_FALLBACK_METHOD_ENUM = [
|
10
|
+
# TODO: Write general description for POST
|
11
|
+
POST = 'POST'.freeze,
|
12
|
+
|
13
|
+
# TODO: Write general description for GET
|
14
|
+
GET = 'GET'.freeze
|
15
|
+
].freeze
|
16
|
+
end
|
17
|
+
end
|
@@ -20,7 +20,10 @@ module Bandwidth
|
|
20
20
|
DELETED = 'deleted'.freeze,
|
21
21
|
|
22
22
|
# TODO: Write general description for ERROR
|
23
|
-
ERROR = 'error'.freeze
|
23
|
+
ERROR = 'error'.freeze,
|
24
|
+
|
25
|
+
# TODO: Write general description for ALREADYINPROGRESS
|
26
|
+
ALREADYINPROGRESS = 'already-in-progress'.freeze
|
24
27
|
].freeze
|
25
28
|
end
|
26
29
|
end
|
@@ -11,15 +11,17 @@ require_relative 'voice/models/api_call_response.rb'
|
|
11
11
|
require_relative 'voice/models/api_call_state_response.rb'
|
12
12
|
require_relative 'voice/models/api_create_call_request.rb'
|
13
13
|
require_relative 'voice/models/api_modify_call_request.rb'
|
14
|
+
require_relative 'voice/models/api_modify_conference_request.rb'
|
14
15
|
require_relative 'voice/models/api_transcribe_recording_request.rb'
|
15
|
-
require_relative 'voice/models/call_engine_modify_conference_request.rb'
|
16
16
|
require_relative 'voice/models/conference_detail.rb'
|
17
17
|
require_relative 'voice/models/conference_member_detail.rb'
|
18
|
+
require_relative 'voice/models/conference_recording_metadata_response.rb'
|
18
19
|
require_relative 'voice/models/modify_call_recording_state.rb'
|
19
20
|
require_relative 'voice/models/recording_metadata_response.rb'
|
20
21
|
require_relative 'voice/models/transcript.rb'
|
21
22
|
require_relative 'voice/models/transcription.rb'
|
22
23
|
require_relative 'voice/models/transcription_response.rb'
|
24
|
+
require_relative 'voice/models/answer_fallback_method_enum.rb'
|
23
25
|
require_relative 'voice/models/answer_method_enum.rb'
|
24
26
|
require_relative 'voice/models/callback_method_enum.rb'
|
25
27
|
require_relative 'voice/models/conference_event_method_enum.rb'
|
@@ -27,13 +29,14 @@ require_relative 'voice/models/direction_enum.rb'
|
|
27
29
|
require_relative 'voice/models/disconnect_cause_enum.rb'
|
28
30
|
require_relative 'voice/models/disconnect_method_enum.rb'
|
29
31
|
require_relative 'voice/models/file_format_enum.rb'
|
32
|
+
require_relative 'voice/models/redirect_fallback_method_enum.rb'
|
30
33
|
require_relative 'voice/models/redirect_method_enum.rb'
|
31
34
|
require_relative 'voice/models/state_enum.rb'
|
32
35
|
require_relative 'voice/models/state1_enum.rb'
|
33
36
|
require_relative 'voice/models/state2_enum.rb'
|
34
37
|
require_relative 'voice/models/status_enum.rb'
|
35
38
|
require_relative 'voice/models/status1_enum.rb'
|
36
|
-
require_relative 'voice/models/
|
39
|
+
require_relative 'voice/models/status3_enum.rb'
|
37
40
|
|
38
41
|
# Exceptions
|
39
42
|
require_relative 'voice/exceptions/api_error_response_exception.rb'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# web_rtc_transfer.rb
|
2
|
+
#
|
3
|
+
# Custom transfer BXML for WebRtc
|
4
|
+
#
|
5
|
+
# @copyright Bandwidth INC
|
6
|
+
|
7
|
+
module Bandwidth
|
8
|
+
module WebRtc
|
9
|
+
def generate_bxml(device_token, sip_uri="sip:sipx.webrtc.bandwidth.com:5060")
|
10
|
+
return '<?xml version="1.0" encoding="UTF-8"?><Response><Transfer><SipUri uui="%s;encoding=jwt">%s</SipUri></Transfer></Response>' % [device_token, sip_uri]
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -17,6 +17,7 @@ module Bandwidth
|
|
17
17
|
|
18
18
|
def initialize(timeout: 60, max_retries: 0, retry_interval: 1,
|
19
19
|
backoff_factor: 1, environment: Environment::PRODUCTION,
|
20
|
+
base_url: 'https://www.example.com',
|
20
21
|
messaging_basic_auth_user_name: 'TODO: Replace',
|
21
22
|
messaging_basic_auth_password: 'TODO: Replace',
|
22
23
|
two_factor_auth_basic_auth_user_name: 'TODO: Replace',
|
@@ -32,6 +33,7 @@ module Bandwidth
|
|
32
33
|
retry_interval: retry_interval,
|
33
34
|
backoff_factor: backoff_factor,
|
34
35
|
environment: environment,
|
36
|
+
base_url: base_url,
|
35
37
|
messaging_basic_auth_user_name: messaging_basic_auth_user_name,
|
36
38
|
messaging_basic_auth_password: messaging_basic_auth_password,
|
37
39
|
two_factor_auth_basic_auth_user_name: two_factor_auth_basic_auth_user_name,
|
@@ -24,7 +24,7 @@ module WebRtc
|
|
24
24
|
_query_builder << '/accounts/{accountId}/participants'
|
25
25
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
26
26
|
_query_builder,
|
27
|
-
'accountId' => { 'value' => account_id, 'encode' =>
|
27
|
+
'accountId' => { 'value' => account_id, 'encode' => false }
|
28
28
|
)
|
29
29
|
_query_url = APIHelper.clean_url _query_builder
|
30
30
|
|
@@ -87,8 +87,8 @@ module WebRtc
|
|
87
87
|
_query_builder << '/accounts/{accountId}/participants/{participantId}'
|
88
88
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
89
89
|
_query_builder,
|
90
|
-
'accountId' => { 'value' => account_id, 'encode' =>
|
91
|
-
'participantId' => { 'value' => participant_id, 'encode' =>
|
90
|
+
'accountId' => { 'value' => account_id, 'encode' => false },
|
91
|
+
'participantId' => { 'value' => participant_id, 'encode' => false }
|
92
92
|
)
|
93
93
|
_query_url = APIHelper.clean_url _query_builder
|
94
94
|
|
@@ -148,8 +148,8 @@ module WebRtc
|
|
148
148
|
_query_builder << '/accounts/{accountId}/participants/{participantId}'
|
149
149
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
150
150
|
_query_builder,
|
151
|
-
'accountId' => { 'value' => account_id, 'encode' =>
|
152
|
-
'participantId' => { 'value' => participant_id, 'encode' =>
|
151
|
+
'accountId' => { 'value' => account_id, 'encode' => false },
|
152
|
+
'participantId' => { 'value' => participant_id, 'encode' => false }
|
153
153
|
)
|
154
154
|
_query_url = APIHelper.clean_url _query_builder
|
155
155
|
|
@@ -202,7 +202,7 @@ module WebRtc
|
|
202
202
|
_query_builder << '/accounts/{accountId}/sessions'
|
203
203
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
204
204
|
_query_builder,
|
205
|
-
'accountId' => { 'value' => account_id, 'encode' =>
|
205
|
+
'accountId' => { 'value' => account_id, 'encode' => false }
|
206
206
|
)
|
207
207
|
_query_url = APIHelper.clean_url _query_builder
|
208
208
|
|
@@ -264,8 +264,8 @@ module WebRtc
|
|
264
264
|
_query_builder << '/accounts/{accountId}/sessions/{sessionId}'
|
265
265
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
266
266
|
_query_builder,
|
267
|
-
'accountId' => { 'value' => account_id, 'encode' =>
|
268
|
-
'sessionId' => { 'value' => session_id, 'encode' =>
|
267
|
+
'accountId' => { 'value' => account_id, 'encode' => false },
|
268
|
+
'sessionId' => { 'value' => session_id, 'encode' => false }
|
269
269
|
)
|
270
270
|
_query_url = APIHelper.clean_url _query_builder
|
271
271
|
|
@@ -325,8 +325,8 @@ module WebRtc
|
|
325
325
|
_query_builder << '/accounts/{accountId}/sessions/{sessionId}'
|
326
326
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
327
327
|
_query_builder,
|
328
|
-
'accountId' => { 'value' => account_id, 'encode' =>
|
329
|
-
'sessionId' => { 'value' => session_id, 'encode' =>
|
328
|
+
'accountId' => { 'value' => account_id, 'encode' => false },
|
329
|
+
'sessionId' => { 'value' => session_id, 'encode' => false }
|
330
330
|
)
|
331
331
|
_query_url = APIHelper.clean_url _query_builder
|
332
332
|
|
@@ -377,8 +377,8 @@ module WebRtc
|
|
377
377
|
_query_builder << '/accounts/{accountId}/sessions/{sessionId}/participants'
|
378
378
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
379
379
|
_query_builder,
|
380
|
-
'accountId' => { 'value' => account_id, 'encode' =>
|
381
|
-
'sessionId' => { 'value' => session_id, 'encode' =>
|
380
|
+
'accountId' => { 'value' => account_id, 'encode' => false },
|
381
|
+
'sessionId' => { 'value' => session_id, 'encode' => false }
|
382
382
|
)
|
383
383
|
_query_url = APIHelper.clean_url _query_builder
|
384
384
|
|
@@ -445,9 +445,9 @@ module WebRtc
|
|
445
445
|
_query_builder << '/accounts/{accountId}/sessions/{sessionId}/participants/{participantId}'
|
446
446
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
447
447
|
_query_builder,
|
448
|
-
'accountId' => { 'value' => account_id, 'encode' =>
|
449
|
-
'sessionId' => { 'value' => session_id, 'encode' =>
|
450
|
-
'participantId' => { 'value' => participant_id, 'encode' =>
|
448
|
+
'accountId' => { 'value' => account_id, 'encode' => false },
|
449
|
+
'sessionId' => { 'value' => session_id, 'encode' => false },
|
450
|
+
'participantId' => { 'value' => participant_id, 'encode' => false }
|
451
451
|
)
|
452
452
|
_query_url = APIHelper.clean_url _query_builder
|
453
453
|
|
@@ -509,9 +509,9 @@ module WebRtc
|
|
509
509
|
_query_builder << '/accounts/{accountId}/sessions/{sessionId}/participants/{participantId}'
|
510
510
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
511
511
|
_query_builder,
|
512
|
-
'accountId' => { 'value' => account_id, 'encode' =>
|
513
|
-
'participantId' => { 'value' => participant_id, 'encode' =>
|
514
|
-
'sessionId' => { 'value' => session_id, 'encode' =>
|
512
|
+
'accountId' => { 'value' => account_id, 'encode' => false },
|
513
|
+
'participantId' => { 'value' => participant_id, 'encode' => false },
|
514
|
+
'sessionId' => { 'value' => session_id, 'encode' => false }
|
515
515
|
)
|
516
516
|
_query_url = APIHelper.clean_url _query_builder
|
517
517
|
|
@@ -564,9 +564,9 @@ module WebRtc
|
|
564
564
|
_query_builder << '/accounts/{accountId}/sessions/{sessionId}/participants/{participantId}/subscriptions'
|
565
565
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
566
566
|
_query_builder,
|
567
|
-
'accountId' => { 'value' => account_id, 'encode' =>
|
568
|
-
'participantId' => { 'value' => participant_id, 'encode' =>
|
569
|
-
'sessionId' => { 'value' => session_id, 'encode' =>
|
567
|
+
'accountId' => { 'value' => account_id, 'encode' => false },
|
568
|
+
'participantId' => { 'value' => participant_id, 'encode' => false },
|
569
|
+
'sessionId' => { 'value' => session_id, 'encode' => false }
|
570
570
|
)
|
571
571
|
_query_url = APIHelper.clean_url _query_builder
|
572
572
|
|
@@ -634,9 +634,9 @@ module WebRtc
|
|
634
634
|
_query_builder << '/accounts/{accountId}/sessions/{sessionId}/participants/{participantId}/subscriptions'
|
635
635
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
636
636
|
_query_builder,
|
637
|
-
'accountId' => { 'value' => account_id, 'encode' =>
|
638
|
-
'participantId' => { 'value' => participant_id, 'encode' =>
|
639
|
-
'sessionId' => { 'value' => session_id, 'encode' =>
|
637
|
+
'accountId' => { 'value' => account_id, 'encode' => false },
|
638
|
+
'participantId' => { 'value' => participant_id, 'encode' => false },
|
639
|
+
'sessionId' => { 'value' => session_id, 'encode' => false }
|
640
640
|
)
|
641
641
|
_query_url = APIHelper.clean_url _query_builder
|
642
642
|
|
data/lib/bandwidth.rb
CHANGED
@@ -42,4 +42,27 @@ require_relative 'bandwidth/http/auth/voice_basic_auth.rb'
|
|
42
42
|
require_relative 'bandwidth/web_rtc_lib/web_rtc'
|
43
43
|
require_relative 'bandwidth/http/auth/web_rtc_basic_auth.rb'
|
44
44
|
|
45
|
-
#
|
45
|
+
# External Files
|
46
|
+
require_relative 'bandwidth/voice_lib/bxml/bxml.rb'
|
47
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/bridge.rb'
|
48
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/conference.rb'
|
49
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/forward.rb'
|
50
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/gather.rb'
|
51
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/hangup.rb'
|
52
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/pause.rb'
|
53
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/pause_recording.rb'
|
54
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/phone_number.rb'
|
55
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/play_audio.rb'
|
56
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/record.rb'
|
57
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/redirect.rb'
|
58
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/resume_recording.rb'
|
59
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/ring.rb'
|
60
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/send_dtmf.rb'
|
61
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/speak_sentence.rb'
|
62
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/start_gather.rb'
|
63
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/start_recording.rb'
|
64
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/stop_gather.rb'
|
65
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/stop_recording.rb'
|
66
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/transfer.rb'
|
67
|
+
require_relative 'bandwidth/voice_lib/bxml/verbs/xml_verb.rb'
|
68
|
+
require_relative 'bandwidth/web_rtc_lib/utils/web_rtc_transfer.rb'
|