bandwidth-sdk 3.5.0 → 3.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/bandwidth.rb +2 -0
- data/lib/bandwidth/api_helper.rb +14 -9
- data/lib/bandwidth/client.rb +13 -2
- data/lib/bandwidth/configuration.rb +46 -9
- data/lib/bandwidth/http/auth/web_rtc_basic_auth.rb +22 -0
- data/lib/bandwidth/messaging_lib/messaging/client.rb +9 -2
- data/lib/bandwidth/messaging_lib/messaging/controllers/api_controller.rb +18 -12
- data/lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/client.rb +9 -2
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/controllers/api_controller.rb +14 -9
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/voice_lib/bxml/verbs/bridge.rb +28 -0
- 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/transfer.rb +5 -1
- data/lib/bandwidth/voice_lib/voice.rb +8 -2
- data/lib/bandwidth/voice_lib/voice/client.rb +9 -2
- data/lib/bandwidth/voice_lib/voice/controllers/api_controller.rb +625 -55
- 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 +45 -0
- data/lib/bandwidth/voice_lib/voice/models/api_modify_call_request.rb +36 -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 +108 -0
- data/lib/bandwidth/voice_lib/voice/models/conference_event_method_enum.rb +35 -0
- data/lib/bandwidth/voice_lib/voice/models/conference_member_detail.rb +80 -0
- 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/state_enum.rb +3 -3
- 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/web_rtc_lib/web_rtc.rb +21 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/client.rb +51 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/api_controller.rb +692 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb +49 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/exceptions/error_exception.rb +34 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/accounts_participants_response.rb +47 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant.rb +83 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant_subscription.rb +35 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/publish_permission_enum.rb +17 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/session.rb +44 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/subscriptions.rb +54 -0
- metadata +43 -11
@@ -0,0 +1,108 @@
|
|
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
|
+
# ConferenceDetail Model.
|
9
|
+
class ConferenceDetail < BaseModel
|
10
|
+
# TODO: Write general description for this method
|
11
|
+
# @return [String]
|
12
|
+
attr_accessor :id
|
13
|
+
|
14
|
+
# TODO: Write general description for this method
|
15
|
+
# @return [String]
|
16
|
+
attr_accessor :name
|
17
|
+
|
18
|
+
# TODO: Write general description for this method
|
19
|
+
# @return [DateTime]
|
20
|
+
attr_accessor :created_time
|
21
|
+
|
22
|
+
# TODO: Write general description for this method
|
23
|
+
# @return [DateTime]
|
24
|
+
attr_accessor :completed_time
|
25
|
+
|
26
|
+
# TODO: Write general description for this method
|
27
|
+
# @return [String]
|
28
|
+
attr_accessor :conference_event_url
|
29
|
+
|
30
|
+
# TODO: Write general description for this method
|
31
|
+
# @return [ConferenceEventMethodEnum]
|
32
|
+
attr_accessor :conference_event_method
|
33
|
+
|
34
|
+
# TODO: Write general description for this method
|
35
|
+
# @return [String]
|
36
|
+
attr_accessor :tag
|
37
|
+
|
38
|
+
# TODO: Write general description for this method
|
39
|
+
# @return [List of ConferenceMemberDetail]
|
40
|
+
attr_accessor :active_members
|
41
|
+
|
42
|
+
# A mapping from model property names to API property names.
|
43
|
+
def self.names
|
44
|
+
@_hash = {} if @_hash.nil?
|
45
|
+
@_hash['id'] = 'id'
|
46
|
+
@_hash['name'] = 'name'
|
47
|
+
@_hash['created_time'] = 'createdTime'
|
48
|
+
@_hash['completed_time'] = 'completedTime'
|
49
|
+
@_hash['conference_event_url'] = 'conferenceEventUrl'
|
50
|
+
@_hash['conference_event_method'] = 'conferenceEventMethod'
|
51
|
+
@_hash['tag'] = 'tag'
|
52
|
+
@_hash['active_members'] = 'activeMembers'
|
53
|
+
@_hash
|
54
|
+
end
|
55
|
+
|
56
|
+
def initialize(id = nil,
|
57
|
+
name = nil,
|
58
|
+
created_time = nil,
|
59
|
+
completed_time = nil,
|
60
|
+
conference_event_url = nil,
|
61
|
+
conference_event_method = nil,
|
62
|
+
tag = nil,
|
63
|
+
active_members = nil)
|
64
|
+
@id = id
|
65
|
+
@name = name
|
66
|
+
@created_time = created_time
|
67
|
+
@completed_time = completed_time
|
68
|
+
@conference_event_url = conference_event_url
|
69
|
+
@conference_event_method = conference_event_method
|
70
|
+
@tag = tag
|
71
|
+
@active_members = active_members
|
72
|
+
end
|
73
|
+
|
74
|
+
# Creates an instance of the object from a hash.
|
75
|
+
def self.from_hash(hash)
|
76
|
+
return nil unless hash
|
77
|
+
|
78
|
+
# Extract variables from the hash.
|
79
|
+
id = hash['id']
|
80
|
+
name = hash['name']
|
81
|
+
created_time = APIHelper.rfc3339(hash['createdTime']) if
|
82
|
+
hash['createdTime']
|
83
|
+
completed_time = APIHelper.rfc3339(hash['completedTime']) if
|
84
|
+
hash['completedTime']
|
85
|
+
conference_event_url = hash['conferenceEventUrl']
|
86
|
+
conference_event_method = hash['conferenceEventMethod']
|
87
|
+
tag = hash['tag']
|
88
|
+
# Parameter is an array, so we need to iterate through it
|
89
|
+
active_members = nil
|
90
|
+
unless hash['activeMembers'].nil?
|
91
|
+
active_members = []
|
92
|
+
hash['activeMembers'].each do |structure|
|
93
|
+
active_members << (ConferenceMemberDetail.from_hash(structure) if structure)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
# Create object from extracted values.
|
98
|
+
ConferenceDetail.new(id,
|
99
|
+
name,
|
100
|
+
created_time,
|
101
|
+
completed_time,
|
102
|
+
conference_event_url,
|
103
|
+
conference_event_method,
|
104
|
+
tag,
|
105
|
+
active_members)
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# ConferenceEventMethod.
|
8
|
+
class ConferenceEventMethodEnum
|
9
|
+
CONFERENCE_EVENT_METHOD_ENUM = [
|
10
|
+
# TODO: Write general description for GET
|
11
|
+
GET = 'GET'.freeze,
|
12
|
+
|
13
|
+
# TODO: Write general description for HEAD
|
14
|
+
HEAD = 'HEAD'.freeze,
|
15
|
+
|
16
|
+
# TODO: Write general description for POST
|
17
|
+
POST = 'POST'.freeze,
|
18
|
+
|
19
|
+
# TODO: Write general description for PUT
|
20
|
+
PUT = 'PUT'.freeze,
|
21
|
+
|
22
|
+
# TODO: Write general description for PATCH
|
23
|
+
PATCH = 'PATCH'.freeze,
|
24
|
+
|
25
|
+
# TODO: Write general description for DELETE
|
26
|
+
DELETE = 'DELETE'.freeze,
|
27
|
+
|
28
|
+
# TODO: Write general description for OPTIONS
|
29
|
+
OPTIONS = 'OPTIONS'.freeze,
|
30
|
+
|
31
|
+
# TODO: Write general description for TRACE
|
32
|
+
TRACE = 'TRACE'.freeze
|
33
|
+
].freeze
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# ConferenceMemberDetail Model.
|
8
|
+
class ConferenceMemberDetail < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [String]
|
11
|
+
attr_accessor :call_id
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :conference_id
|
16
|
+
|
17
|
+
# TODO: Write general description for this method
|
18
|
+
# @return [String]
|
19
|
+
attr_accessor :member_url
|
20
|
+
|
21
|
+
# TODO: Write general description for this method
|
22
|
+
# @return [Boolean]
|
23
|
+
attr_accessor :mute
|
24
|
+
|
25
|
+
# TODO: Write general description for this method
|
26
|
+
# @return [Boolean]
|
27
|
+
attr_accessor :hold
|
28
|
+
|
29
|
+
# TODO: Write general description for this method
|
30
|
+
# @return [List of String]
|
31
|
+
attr_accessor :call_ids_to_coach
|
32
|
+
|
33
|
+
# A mapping from model property names to API property names.
|
34
|
+
def self.names
|
35
|
+
@_hash = {} if @_hash.nil?
|
36
|
+
@_hash['call_id'] = 'callId'
|
37
|
+
@_hash['conference_id'] = 'conferenceId'
|
38
|
+
@_hash['member_url'] = 'memberUrl'
|
39
|
+
@_hash['mute'] = 'mute'
|
40
|
+
@_hash['hold'] = 'hold'
|
41
|
+
@_hash['call_ids_to_coach'] = 'callIdsToCoach'
|
42
|
+
@_hash
|
43
|
+
end
|
44
|
+
|
45
|
+
def initialize(call_id = nil,
|
46
|
+
conference_id = nil,
|
47
|
+
member_url = nil,
|
48
|
+
mute = nil,
|
49
|
+
hold = nil,
|
50
|
+
call_ids_to_coach = nil)
|
51
|
+
@call_id = call_id
|
52
|
+
@conference_id = conference_id
|
53
|
+
@member_url = member_url
|
54
|
+
@mute = mute
|
55
|
+
@hold = hold
|
56
|
+
@call_ids_to_coach = call_ids_to_coach
|
57
|
+
end
|
58
|
+
|
59
|
+
# Creates an instance of the object from a hash.
|
60
|
+
def self.from_hash(hash)
|
61
|
+
return nil unless hash
|
62
|
+
|
63
|
+
# Extract variables from the hash.
|
64
|
+
call_id = hash['callId']
|
65
|
+
conference_id = hash['conferenceId']
|
66
|
+
member_url = hash['memberUrl']
|
67
|
+
mute = hash['mute']
|
68
|
+
hold = hash['hold']
|
69
|
+
call_ids_to_coach = hash['callIdsToCoach']
|
70
|
+
|
71
|
+
# Create object from extracted values.
|
72
|
+
ConferenceMemberDetail.new(call_id,
|
73
|
+
conference_id,
|
74
|
+
member_url,
|
75
|
+
mute,
|
76
|
+
hold,
|
77
|
+
call_ids_to_coach)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -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,
|