asterisk-ari-client 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +85 -0
- data/Rakefile +54 -0
- data/asterisk-ari-client.gemspec +32 -0
- data/examples/list_channels.rb +14 -0
- data/examples/websocket.rb +33 -0
- data/lib/ari.rb +12 -0
- data/lib/ari/client.rb +124 -0
- data/lib/ari/generators/api.rb +23 -0
- data/lib/ari/generators/attribute.rb +35 -0
- data/lib/ari/generators/model.rb +38 -0
- data/lib/ari/generators/operation.rb +43 -0
- data/lib/ari/generators/parameter.rb +35 -0
- data/lib/ari/generators/property.rb +32 -0
- data/lib/ari/generators/resource_generator.rb +94 -0
- data/lib/ari/generators/templates/model.rb.erb +36 -0
- data/lib/ari/generators/templates/resource.rb.erb +97 -0
- data/lib/ari/list_resource.rb +23 -0
- data/lib/ari/model.rb +26 -0
- data/lib/ari/models.rb +47 -0
- data/lib/ari/models/.DS_Store +0 -0
- data/lib/ari/models/application_replaced.rb +17 -0
- data/lib/ari/models/asterisk_info.rb +35 -0
- data/lib/ari/models/bridge_attended_transfer.rb +63 -0
- data/lib/ari/models/bridge_blind_transfer.rb +35 -0
- data/lib/ari/models/bridge_created.rb +23 -0
- data/lib/ari/models/bridge_destroyed.rb +23 -0
- data/lib/ari/models/bridge_merged.rb +27 -0
- data/lib/ari/models/build_info.rb +19 -0
- data/lib/ari/models/caller_id.rb +19 -0
- data/lib/ari/models/channel_caller_id.rb +23 -0
- data/lib/ari/models/channel_created.rb +23 -0
- data/lib/ari/models/channel_destroyed.rb +23 -0
- data/lib/ari/models/channel_dialplan.rb +23 -0
- data/lib/ari/models/channel_dtmf_received.rb +23 -0
- data/lib/ari/models/channel_entered_bridge.rb +27 -0
- data/lib/ari/models/channel_hangup_request.rb +23 -0
- data/lib/ari/models/channel_left_bridge.rb +27 -0
- data/lib/ari/models/channel_state_change.rb +23 -0
- data/lib/ari/models/channel_talking_finished.rb +23 -0
- data/lib/ari/models/channel_talking_started.rb +23 -0
- data/lib/ari/models/channel_userevent.rb +35 -0
- data/lib/ari/models/channel_varset.rb +23 -0
- data/lib/ari/models/config_info.rb +27 -0
- data/lib/ari/models/device_state_changed.rb +23 -0
- data/lib/ari/models/dial.rb +31 -0
- data/lib/ari/models/dialed.rb +17 -0
- data/lib/ari/models/dialplan_cep.rb +19 -0
- data/lib/ari/models/endpoint_state_change.rb +23 -0
- data/lib/ari/models/format_lang_pair.rb +19 -0
- data/lib/ari/models/live_recording.rb +19 -0
- data/lib/ari/models/message.rb +19 -0
- data/lib/ari/models/missing_params.rb +19 -0
- data/lib/ari/models/playback_finished.rb +23 -0
- data/lib/ari/models/playback_started.rb +23 -0
- data/lib/ari/models/recording_failed.rb +23 -0
- data/lib/ari/models/recording_finished.rb +23 -0
- data/lib/ari/models/recording_started.rb +23 -0
- data/lib/ari/models/set_id.rb +19 -0
- data/lib/ari/models/stasis_end.rb +23 -0
- data/lib/ari/models/stasis_start.rb +27 -0
- data/lib/ari/models/status_info.rb +27 -0
- data/lib/ari/models/stored_recording.rb +19 -0
- data/lib/ari/models/system_info.rb +19 -0
- data/lib/ari/models/text_message.rb +23 -0
- data/lib/ari/models/text_message_received.rb +27 -0
- data/lib/ari/models/text_message_variable.rb +19 -0
- data/lib/ari/models/variable.rb +19 -0
- data/lib/ari/request_error.rb +8 -0
- data/lib/ari/resource.rb +37 -0
- data/lib/ari/resources.rb +11 -0
- data/lib/ari/resources/application.rb +101 -0
- data/lib/ari/resources/asterisk.rb +72 -0
- data/lib/ari/resources/bridge.rb +286 -0
- data/lib/ari/resources/channel.rb +610 -0
- data/lib/ari/resources/device_state.rb +98 -0
- data/lib/ari/resources/endpoint.rb +124 -0
- data/lib/ari/resources/event.rb +25 -0
- data/lib/ari/resources/mailbox.rb +99 -0
- data/lib/ari/resources/playback.rb +86 -0
- data/lib/ari/resources/recording.rb +241 -0
- data/lib/ari/resources/sound.rb +64 -0
- data/lib/ari/server_error.rb +8 -0
- data/lib/asterisk/ari/client.rb +10 -0
- data/lib/asterisk/ari/client/version.rb +7 -0
- data/test/fixtures/bridge_create.json +74 -0
- data/test/fixtures/bridge_get.json +74 -0
- data/test/fixtures/bridges_list.json +76 -0
- data/test/fixtures/channel_get.json +83 -0
- data/test/fixtures/channel_originate.json +83 -0
- data/test/fixtures/channel_originate_with_id.json +83 -0
- data/test/fixtures/channels_list.json +105 -0
- data/test/lib/asterisk-ari-client/.DS_Store +0 -0
- data/test/lib/asterisk-ari-client/bridge_test.rb +46 -0
- data/test/lib/asterisk-ari-client/channel_test.rb +59 -0
- data/test/test_helper.rb +42 -0
- metadata +265 -0
@@ -0,0 +1,98 @@
|
|
1
|
+
#------------------------------------------------------------------------------
|
2
|
+
#
|
3
|
+
# WARNING !
|
4
|
+
#
|
5
|
+
# This is a generated file. DO NOT EDIT THIS FILE! Your changes will
|
6
|
+
# be lost the next time this file is regenerated.
|
7
|
+
#
|
8
|
+
# This file was generated using asterisk-ari-client ruby gem.
|
9
|
+
#
|
10
|
+
#------------------------------------------------------------------------------
|
11
|
+
|
12
|
+
module Ari
|
13
|
+
class DeviceState < Resource
|
14
|
+
|
15
|
+
attr_reader :name, :state
|
16
|
+
|
17
|
+
|
18
|
+
# GET /deviceStates
|
19
|
+
#
|
20
|
+
# Device states
|
21
|
+
#
|
22
|
+
#
|
23
|
+
def self.list(options = {})
|
24
|
+
path = '/deviceStates'
|
25
|
+
response = client(options).get(path, options)
|
26
|
+
response.map { |hash| DeviceState.new(hash.merge(client: options[:client])) }
|
27
|
+
end
|
28
|
+
|
29
|
+
# GET /deviceStates/%{deviceName}
|
30
|
+
#
|
31
|
+
# Device state
|
32
|
+
#
|
33
|
+
#
|
34
|
+
# Parameters:
|
35
|
+
#
|
36
|
+
# deviceName (required) - Name of the device
|
37
|
+
#
|
38
|
+
def self.get(options = {})
|
39
|
+
raise ArgumentError.new("Parameter deviceName must be passed in options hash.") unless options[:deviceName]
|
40
|
+
path = '/deviceStates/%{deviceName}' % options
|
41
|
+
response = client(options).get(path, options)
|
42
|
+
DeviceState.new(response.merge(client: options[:client]))
|
43
|
+
end
|
44
|
+
|
45
|
+
def get(options = {})
|
46
|
+
self.class.get(options.merge(deviceStateId: self.id, client: @client))
|
47
|
+
end
|
48
|
+
|
49
|
+
# PUT /deviceStates/%{deviceName}
|
50
|
+
#
|
51
|
+
# Device state
|
52
|
+
#
|
53
|
+
# Change the state of a device controlled by ARI. (Note - implicitly creates the d
|
54
|
+
#
|
55
|
+
# Parameters:
|
56
|
+
#
|
57
|
+
# deviceName (required) - Name of the device
|
58
|
+
# deviceState (required) - Device state value
|
59
|
+
#
|
60
|
+
def self.update(options = {})
|
61
|
+
raise ArgumentError.new("Parameter deviceName must be passed in options hash.") unless options[:deviceName]
|
62
|
+
raise ArgumentError.new("Parameter deviceState must be passed in options hash.") unless options[:deviceState]
|
63
|
+
path = '/deviceStates/%{deviceName}' % options
|
64
|
+
response = client(options).put(path, options)
|
65
|
+
end
|
66
|
+
|
67
|
+
def update(options = {})
|
68
|
+
self.class.update(options.merge(deviceStateId: self.id, client: @client))
|
69
|
+
end
|
70
|
+
|
71
|
+
# DELETE /deviceStates/%{deviceName}
|
72
|
+
#
|
73
|
+
# Device state
|
74
|
+
#
|
75
|
+
#
|
76
|
+
# Parameters:
|
77
|
+
#
|
78
|
+
# deviceName (required) - Name of the device
|
79
|
+
#
|
80
|
+
def self.delete(options = {})
|
81
|
+
raise ArgumentError.new("Parameter deviceName must be passed in options hash.") unless options[:deviceName]
|
82
|
+
path = '/deviceStates/%{deviceName}' % options
|
83
|
+
response = client(options).delete(path, options)
|
84
|
+
rescue Ari::RequestError => e
|
85
|
+
raise unless e.code == '404'
|
86
|
+
end
|
87
|
+
|
88
|
+
def delete(options = {})
|
89
|
+
self.class.delete(options.merge(deviceStateId: self.id, client: @client))
|
90
|
+
end
|
91
|
+
|
92
|
+
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
Ari::Client.send :define_method, 'device_states' do
|
97
|
+
Ari::ListResource.new(self, Ari::DeviceState)
|
98
|
+
end
|
@@ -0,0 +1,124 @@
|
|
1
|
+
#------------------------------------------------------------------------------
|
2
|
+
#
|
3
|
+
# WARNING !
|
4
|
+
#
|
5
|
+
# This is a generated file. DO NOT EDIT THIS FILE! Your changes will
|
6
|
+
# be lost the next time this file is regenerated.
|
7
|
+
#
|
8
|
+
# This file was generated using asterisk-ari-client ruby gem.
|
9
|
+
#
|
10
|
+
#------------------------------------------------------------------------------
|
11
|
+
|
12
|
+
module Ari
|
13
|
+
class Endpoint < Resource
|
14
|
+
|
15
|
+
attr_reader :technology, :resource, :state, :channel_ids
|
16
|
+
|
17
|
+
|
18
|
+
# GET /endpoints
|
19
|
+
#
|
20
|
+
# Asterisk endpoints
|
21
|
+
#
|
22
|
+
#
|
23
|
+
def self.list(options = {})
|
24
|
+
path = '/endpoints'
|
25
|
+
response = client(options).get(path, options)
|
26
|
+
response.map { |hash| Endpoint.new(hash.merge(client: options[:client])) }
|
27
|
+
end
|
28
|
+
|
29
|
+
# PUT /endpoints/sendMessage
|
30
|
+
#
|
31
|
+
# Send a message to some technology URI or endpoint.
|
32
|
+
#
|
33
|
+
#
|
34
|
+
# Parameters:
|
35
|
+
#
|
36
|
+
# to (required) - The endpoint resource or technology specific URI to send the message to. Valid resources are sip, pjsip, and xmpp.
|
37
|
+
# from (required) - The endpoint resource or technology specific identity to send this message from. Valid resources are sip, pjsip, and xmpp.
|
38
|
+
# body - The body of the message
|
39
|
+
# variables -
|
40
|
+
#
|
41
|
+
def self.send_message(options = {})
|
42
|
+
raise ArgumentError.new("Parameter to must be passed in options hash.") unless options[:to]
|
43
|
+
raise ArgumentError.new("Parameter from must be passed in options hash.") unless options[:from]
|
44
|
+
path = '/endpoints/sendMessage'
|
45
|
+
response = client(options).put(path, options)
|
46
|
+
end
|
47
|
+
class << self; alias_method :sendMessage, :send_message; end
|
48
|
+
|
49
|
+
# GET /endpoints/%{tech}
|
50
|
+
#
|
51
|
+
# Asterisk endpoints
|
52
|
+
#
|
53
|
+
#
|
54
|
+
# Parameters:
|
55
|
+
#
|
56
|
+
# tech (required) - Technology of the endpoints (sip,iax2,...)
|
57
|
+
#
|
58
|
+
def self.list_by_tech(options = {})
|
59
|
+
raise ArgumentError.new("Parameter tech must be passed in options hash.") unless options[:tech]
|
60
|
+
path = '/endpoints/%{tech}' % options
|
61
|
+
response = client(options).get(path, options)
|
62
|
+
response.map { |hash| Endpoint.new(hash.merge(client: options[:client])) }
|
63
|
+
end
|
64
|
+
class << self; alias_method :listByTech, :list_by_tech; end
|
65
|
+
|
66
|
+
def list_by_tech(options = {})
|
67
|
+
self.class.list_by_tech(options.merge(endpointId: self.id, client: @client))
|
68
|
+
end
|
69
|
+
|
70
|
+
# GET /endpoints/%{tech}/%{resource}
|
71
|
+
#
|
72
|
+
# Single endpoint
|
73
|
+
#
|
74
|
+
#
|
75
|
+
# Parameters:
|
76
|
+
#
|
77
|
+
# tech (required) - Technology of the endpoint
|
78
|
+
# resource (required) - ID of the endpoint
|
79
|
+
#
|
80
|
+
def self.get(options = {})
|
81
|
+
raise ArgumentError.new("Parameter tech must be passed in options hash.") unless options[:tech]
|
82
|
+
raise ArgumentError.new("Parameter resource must be passed in options hash.") unless options[:resource]
|
83
|
+
path = '/endpoints/%{tech}/%{resource}' % options
|
84
|
+
response = client(options).get(path, options)
|
85
|
+
Endpoint.new(response.merge(client: options[:client]))
|
86
|
+
end
|
87
|
+
|
88
|
+
def get(options = {})
|
89
|
+
self.class.get(options.merge(endpointId: self.id, client: @client))
|
90
|
+
end
|
91
|
+
|
92
|
+
# PUT /endpoints/%{tech}/%{resource}/sendMessage
|
93
|
+
#
|
94
|
+
# Send a message to some endpoint in a technology.
|
95
|
+
#
|
96
|
+
#
|
97
|
+
# Parameters:
|
98
|
+
#
|
99
|
+
# tech (required) - Technology of the endpoint
|
100
|
+
# resource (required) - ID of the endpoint
|
101
|
+
# from (required) - The endpoint resource or technology specific identity to send this message from. Valid resources are sip, pjsip, and xmpp.
|
102
|
+
# body - The body of the message
|
103
|
+
# variables -
|
104
|
+
#
|
105
|
+
def self.send_message_to_endpoint(options = {})
|
106
|
+
raise ArgumentError.new("Parameter tech must be passed in options hash.") unless options[:tech]
|
107
|
+
raise ArgumentError.new("Parameter resource must be passed in options hash.") unless options[:resource]
|
108
|
+
raise ArgumentError.new("Parameter from must be passed in options hash.") unless options[:from]
|
109
|
+
path = '/endpoints/%{tech}/%{resource}/sendMessage' % options
|
110
|
+
response = client(options).put(path, options)
|
111
|
+
end
|
112
|
+
class << self; alias_method :sendMessageToEndpoint, :send_message_to_endpoint; end
|
113
|
+
|
114
|
+
def send_message_to_endpoint(options = {})
|
115
|
+
self.class.send_message_to_endpoint(options.merge(endpointId: self.id, client: @client))
|
116
|
+
end
|
117
|
+
|
118
|
+
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
Ari::Client.send :define_method, 'endpoints' do
|
123
|
+
Ari::ListResource.new(self, Ari::Endpoint)
|
124
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#------------------------------------------------------------------------------
|
2
|
+
#
|
3
|
+
# WARNING !
|
4
|
+
#
|
5
|
+
# This is a generated file. DO NOT EDIT THIS FILE! Your changes will
|
6
|
+
# be lost the next time this file is regenerated.
|
7
|
+
#
|
8
|
+
# This file was generated using asterisk-ari-client ruby gem.
|
9
|
+
#
|
10
|
+
#------------------------------------------------------------------------------
|
11
|
+
|
12
|
+
module Ari
|
13
|
+
class Event < Model
|
14
|
+
|
15
|
+
attr_reader :application, :timestamp
|
16
|
+
|
17
|
+
def timestamp=(val)
|
18
|
+
@timestamp ||= Time.parse(val)
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
@@ -0,0 +1,99 @@
|
|
1
|
+
#------------------------------------------------------------------------------
|
2
|
+
#
|
3
|
+
# WARNING !
|
4
|
+
#
|
5
|
+
# This is a generated file. DO NOT EDIT THIS FILE! Your changes will
|
6
|
+
# be lost the next time this file is regenerated.
|
7
|
+
#
|
8
|
+
# This file was generated using asterisk-ari-client ruby gem.
|
9
|
+
#
|
10
|
+
#------------------------------------------------------------------------------
|
11
|
+
|
12
|
+
module Ari
|
13
|
+
class Mailbox < Resource
|
14
|
+
|
15
|
+
attr_reader :name, :old_messages, :new_messages
|
16
|
+
|
17
|
+
|
18
|
+
# GET /mailboxes
|
19
|
+
#
|
20
|
+
# Mailboxes
|
21
|
+
#
|
22
|
+
#
|
23
|
+
def self.list(options = {})
|
24
|
+
path = '/mailboxes'
|
25
|
+
response = client(options).get(path, options)
|
26
|
+
response.map { |hash| Mailbox.new(hash.merge(client: options[:client])) }
|
27
|
+
end
|
28
|
+
|
29
|
+
# GET /mailboxes/%{mailboxName}
|
30
|
+
#
|
31
|
+
# Mailbox state
|
32
|
+
#
|
33
|
+
#
|
34
|
+
# Parameters:
|
35
|
+
#
|
36
|
+
# mailboxName (required) - Name of the mailbox
|
37
|
+
#
|
38
|
+
def self.get(options = {})
|
39
|
+
raise ArgumentError.new("Parameter mailboxName must be passed in options hash.") unless options[:mailboxName]
|
40
|
+
path = '/mailboxes/%{mailboxName}' % options
|
41
|
+
response = client(options).get(path, options)
|
42
|
+
Mailbox.new(response.merge(client: options[:client]))
|
43
|
+
end
|
44
|
+
|
45
|
+
def get(options = {})
|
46
|
+
self.class.get(options.merge(mailboxId: self.id, client: @client))
|
47
|
+
end
|
48
|
+
|
49
|
+
# PUT /mailboxes/%{mailboxName}
|
50
|
+
#
|
51
|
+
# Mailbox state
|
52
|
+
#
|
53
|
+
#
|
54
|
+
# Parameters:
|
55
|
+
#
|
56
|
+
# mailboxName (required) - Name of the mailbox
|
57
|
+
# oldMessages (required) - Count of old messages in the mailbox
|
58
|
+
# newMessages (required) - Count of new messages in the mailbox
|
59
|
+
#
|
60
|
+
def self.update(options = {})
|
61
|
+
raise ArgumentError.new("Parameter mailboxName must be passed in options hash.") unless options[:mailboxName]
|
62
|
+
raise ArgumentError.new("Parameter oldMessages must be passed in options hash.") unless options[:oldMessages]
|
63
|
+
raise ArgumentError.new("Parameter newMessages must be passed in options hash.") unless options[:newMessages]
|
64
|
+
path = '/mailboxes/%{mailboxName}' % options
|
65
|
+
response = client(options).put(path, options)
|
66
|
+
end
|
67
|
+
|
68
|
+
def update(options = {})
|
69
|
+
self.class.update(options.merge(mailboxId: self.id, client: @client))
|
70
|
+
end
|
71
|
+
|
72
|
+
# DELETE /mailboxes/%{mailboxName}
|
73
|
+
#
|
74
|
+
# Mailbox state
|
75
|
+
#
|
76
|
+
#
|
77
|
+
# Parameters:
|
78
|
+
#
|
79
|
+
# mailboxName (required) - Name of the mailbox
|
80
|
+
#
|
81
|
+
def self.delete(options = {})
|
82
|
+
raise ArgumentError.new("Parameter mailboxName must be passed in options hash.") unless options[:mailboxName]
|
83
|
+
path = '/mailboxes/%{mailboxName}' % options
|
84
|
+
response = client(options).delete(path, options)
|
85
|
+
rescue Ari::RequestError => e
|
86
|
+
raise unless e.code == '404'
|
87
|
+
end
|
88
|
+
|
89
|
+
def delete(options = {})
|
90
|
+
self.class.delete(options.merge(mailboxId: self.id, client: @client))
|
91
|
+
end
|
92
|
+
|
93
|
+
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
Ari::Client.send :define_method, 'mailboxes' do
|
98
|
+
Ari::ListResource.new(self, Ari::Mailbox)
|
99
|
+
end
|
@@ -0,0 +1,86 @@
|
|
1
|
+
#------------------------------------------------------------------------------
|
2
|
+
#
|
3
|
+
# WARNING !
|
4
|
+
#
|
5
|
+
# This is a generated file. DO NOT EDIT THIS FILE! Your changes will
|
6
|
+
# be lost the next time this file is regenerated.
|
7
|
+
#
|
8
|
+
# This file was generated using asterisk-ari-client ruby gem.
|
9
|
+
#
|
10
|
+
#------------------------------------------------------------------------------
|
11
|
+
|
12
|
+
module Ari
|
13
|
+
class Playback < Resource
|
14
|
+
|
15
|
+
attr_reader :id, :media_uri, :target_uri, :language, :state
|
16
|
+
|
17
|
+
|
18
|
+
# GET /playbacks/%{playbackId}
|
19
|
+
#
|
20
|
+
# Control object for a playback operation.
|
21
|
+
#
|
22
|
+
#
|
23
|
+
# Parameters:
|
24
|
+
#
|
25
|
+
# playbackId (required) - Playback's id
|
26
|
+
#
|
27
|
+
def self.get(options = {})
|
28
|
+
raise ArgumentError.new("Parameter playbackId must be passed in options hash.") unless options[:playbackId]
|
29
|
+
path = '/playbacks/%{playbackId}' % options
|
30
|
+
response = client(options).get(path, options)
|
31
|
+
Playback.new(response.merge(client: options[:client]))
|
32
|
+
end
|
33
|
+
|
34
|
+
def get(options = {})
|
35
|
+
self.class.get(options.merge(playbackId: self.id, client: @client))
|
36
|
+
end
|
37
|
+
|
38
|
+
# DELETE /playbacks/%{playbackId}
|
39
|
+
#
|
40
|
+
# Control object for a playback operation.
|
41
|
+
#
|
42
|
+
#
|
43
|
+
# Parameters:
|
44
|
+
#
|
45
|
+
# playbackId (required) - Playback's id
|
46
|
+
#
|
47
|
+
def self.stop(options = {})
|
48
|
+
raise ArgumentError.new("Parameter playbackId must be passed in options hash.") unless options[:playbackId]
|
49
|
+
path = '/playbacks/%{playbackId}' % options
|
50
|
+
response = client(options).delete(path, options)
|
51
|
+
rescue Ari::RequestError => e
|
52
|
+
raise unless e.code == '404'
|
53
|
+
end
|
54
|
+
|
55
|
+
def stop(options = {})
|
56
|
+
self.class.stop(options.merge(playbackId: self.id, client: @client))
|
57
|
+
end
|
58
|
+
|
59
|
+
# POST /playbacks/%{playbackId}/control
|
60
|
+
#
|
61
|
+
# Control object for a playback operation.
|
62
|
+
#
|
63
|
+
#
|
64
|
+
# Parameters:
|
65
|
+
#
|
66
|
+
# playbackId (required) - Playback's id
|
67
|
+
# operation (required) - Operation to perform on the playback.
|
68
|
+
#
|
69
|
+
def self.control(options = {})
|
70
|
+
raise ArgumentError.new("Parameter playbackId must be passed in options hash.") unless options[:playbackId]
|
71
|
+
raise ArgumentError.new("Parameter operation must be passed in options hash.") unless options[:operation]
|
72
|
+
path = '/playbacks/%{playbackId}/control' % options
|
73
|
+
response = client(options).post(path, options)
|
74
|
+
end
|
75
|
+
|
76
|
+
def control(options = {})
|
77
|
+
self.class.control(options.merge(playbackId: self.id, client: @client))
|
78
|
+
end
|
79
|
+
|
80
|
+
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
Ari::Client.send :define_method, 'playbacks' do
|
85
|
+
Ari::ListResource.new(self, Ari::Playback)
|
86
|
+
end
|
@@ -0,0 +1,241 @@
|
|
1
|
+
#------------------------------------------------------------------------------
|
2
|
+
#
|
3
|
+
# WARNING !
|
4
|
+
#
|
5
|
+
# This is a generated file. DO NOT EDIT THIS FILE! Your changes will
|
6
|
+
# be lost the next time this file is regenerated.
|
7
|
+
#
|
8
|
+
# This file was generated using asterisk-ari-client ruby gem.
|
9
|
+
#
|
10
|
+
#------------------------------------------------------------------------------
|
11
|
+
|
12
|
+
module Ari
|
13
|
+
class Recording < Resource
|
14
|
+
|
15
|
+
|
16
|
+
# GET /recordings/stored
|
17
|
+
#
|
18
|
+
# Recordings
|
19
|
+
#
|
20
|
+
#
|
21
|
+
def self.list_stored(options = {})
|
22
|
+
path = '/recordings/stored'
|
23
|
+
response = client(options).get(path, options)
|
24
|
+
response.map { |hash| StoredRecording.new(hash.merge(client: options[:client])) }
|
25
|
+
end
|
26
|
+
class << self; alias_method :listStored, :list_stored; end
|
27
|
+
|
28
|
+
# GET /recordings/stored/%{recordingName}
|
29
|
+
#
|
30
|
+
# Individual recording
|
31
|
+
#
|
32
|
+
#
|
33
|
+
# Parameters:
|
34
|
+
#
|
35
|
+
# recordingName (required) - The name of the recording
|
36
|
+
#
|
37
|
+
def self.get_stored(options = {})
|
38
|
+
raise ArgumentError.new("Parameter recordingName must be passed in options hash.") unless options[:recordingName]
|
39
|
+
path = '/recordings/stored/%{recordingName}' % options
|
40
|
+
response = client(options).get(path, options)
|
41
|
+
StoredRecording.new(response.merge(client: options[:client]))
|
42
|
+
end
|
43
|
+
class << self; alias_method :getStored, :get_stored; end
|
44
|
+
|
45
|
+
def get_stored(options = {})
|
46
|
+
self.class.get_stored(options.merge(recordingId: self.id, client: @client))
|
47
|
+
end
|
48
|
+
|
49
|
+
# DELETE /recordings/stored/%{recordingName}
|
50
|
+
#
|
51
|
+
# Individual recording
|
52
|
+
#
|
53
|
+
#
|
54
|
+
# Parameters:
|
55
|
+
#
|
56
|
+
# recordingName (required) - The name of the recording
|
57
|
+
#
|
58
|
+
def self.delete_stored(options = {})
|
59
|
+
raise ArgumentError.new("Parameter recordingName must be passed in options hash.") unless options[:recordingName]
|
60
|
+
path = '/recordings/stored/%{recordingName}' % options
|
61
|
+
response = client(options).delete(path, options)
|
62
|
+
rescue Ari::RequestError => e
|
63
|
+
raise unless e.code == '404'
|
64
|
+
end
|
65
|
+
class << self; alias_method :deleteStored, :delete_stored; end
|
66
|
+
|
67
|
+
def delete_stored(options = {})
|
68
|
+
self.class.delete_stored(options.merge(recordingId: self.id, client: @client))
|
69
|
+
end
|
70
|
+
|
71
|
+
# POST /recordings/stored/%{recordingName}/copy
|
72
|
+
#
|
73
|
+
# Copy an individual recording
|
74
|
+
#
|
75
|
+
#
|
76
|
+
# Parameters:
|
77
|
+
#
|
78
|
+
# recordingName (required) - The name of the recording to copy
|
79
|
+
# destinationRecordingName (required) - The destination name of the recording
|
80
|
+
#
|
81
|
+
def self.copy_stored(options = {})
|
82
|
+
raise ArgumentError.new("Parameter recordingName must be passed in options hash.") unless options[:recordingName]
|
83
|
+
raise ArgumentError.new("Parameter destinationRecordingName must be passed in options hash.") unless options[:destinationRecordingName]
|
84
|
+
path = '/recordings/stored/%{recordingName}/copy' % options
|
85
|
+
response = client(options).post(path, options)
|
86
|
+
StoredRecording.new(response.merge(client: options[:client]))
|
87
|
+
end
|
88
|
+
class << self; alias_method :copyStored, :copy_stored; end
|
89
|
+
|
90
|
+
def copy_stored(options = {})
|
91
|
+
self.class.copy_stored(options.merge(recordingId: self.id, client: @client))
|
92
|
+
end
|
93
|
+
|
94
|
+
# GET /recordings/live/%{recordingName}
|
95
|
+
#
|
96
|
+
# A recording that is in progress
|
97
|
+
#
|
98
|
+
#
|
99
|
+
# Parameters:
|
100
|
+
#
|
101
|
+
# recordingName (required) - The name of the recording
|
102
|
+
#
|
103
|
+
def self.get_live(options = {})
|
104
|
+
raise ArgumentError.new("Parameter recordingName must be passed in options hash.") unless options[:recordingName]
|
105
|
+
path = '/recordings/live/%{recordingName}' % options
|
106
|
+
response = client(options).get(path, options)
|
107
|
+
LiveRecording.new(response.merge(client: options[:client]))
|
108
|
+
end
|
109
|
+
class << self; alias_method :getLive, :get_live; end
|
110
|
+
|
111
|
+
def get_live(options = {})
|
112
|
+
self.class.get_live(options.merge(recordingId: self.id, client: @client))
|
113
|
+
end
|
114
|
+
|
115
|
+
# DELETE /recordings/live/%{recordingName}
|
116
|
+
#
|
117
|
+
# A recording that is in progress
|
118
|
+
#
|
119
|
+
#
|
120
|
+
# Parameters:
|
121
|
+
#
|
122
|
+
# recordingName (required) - The name of the recording
|
123
|
+
#
|
124
|
+
def self.cancel(options = {})
|
125
|
+
raise ArgumentError.new("Parameter recordingName must be passed in options hash.") unless options[:recordingName]
|
126
|
+
path = '/recordings/live/%{recordingName}' % options
|
127
|
+
response = client(options).delete(path, options)
|
128
|
+
rescue Ari::RequestError => e
|
129
|
+
raise unless e.code == '404'
|
130
|
+
end
|
131
|
+
|
132
|
+
def cancel(options = {})
|
133
|
+
self.class.cancel(options.merge(recordingId: self.id, client: @client))
|
134
|
+
end
|
135
|
+
|
136
|
+
# POST /recordings/live/%{recordingName}/stop
|
137
|
+
#
|
138
|
+
#
|
139
|
+
#
|
140
|
+
#
|
141
|
+
# Parameters:
|
142
|
+
#
|
143
|
+
# recordingName (required) - The name of the recording
|
144
|
+
#
|
145
|
+
def self.stop(options = {})
|
146
|
+
raise ArgumentError.new("Parameter recordingName must be passed in options hash.") unless options[:recordingName]
|
147
|
+
path = '/recordings/live/%{recordingName}/stop' % options
|
148
|
+
response = client(options).post(path, options)
|
149
|
+
end
|
150
|
+
|
151
|
+
def stop(options = {})
|
152
|
+
self.class.stop(options.merge(recordingId: self.id, client: @client))
|
153
|
+
end
|
154
|
+
|
155
|
+
# POST /recordings/live/%{recordingName}/pause
|
156
|
+
#
|
157
|
+
#
|
158
|
+
#
|
159
|
+
#
|
160
|
+
# Parameters:
|
161
|
+
#
|
162
|
+
# recordingName (required) - The name of the recording
|
163
|
+
#
|
164
|
+
def self.pause(options = {})
|
165
|
+
raise ArgumentError.new("Parameter recordingName must be passed in options hash.") unless options[:recordingName]
|
166
|
+
path = '/recordings/live/%{recordingName}/pause' % options
|
167
|
+
response = client(options).post(path, options)
|
168
|
+
end
|
169
|
+
|
170
|
+
def pause(options = {})
|
171
|
+
self.class.pause(options.merge(recordingId: self.id, client: @client))
|
172
|
+
end
|
173
|
+
|
174
|
+
# DELETE /recordings/live/%{recordingName}/pause
|
175
|
+
#
|
176
|
+
#
|
177
|
+
#
|
178
|
+
#
|
179
|
+
# Parameters:
|
180
|
+
#
|
181
|
+
# recordingName (required) - The name of the recording
|
182
|
+
#
|
183
|
+
def self.unpause(options = {})
|
184
|
+
raise ArgumentError.new("Parameter recordingName must be passed in options hash.") unless options[:recordingName]
|
185
|
+
path = '/recordings/live/%{recordingName}/pause' % options
|
186
|
+
response = client(options).delete(path, options)
|
187
|
+
rescue Ari::RequestError => e
|
188
|
+
raise unless e.code == '404'
|
189
|
+
end
|
190
|
+
|
191
|
+
def unpause(options = {})
|
192
|
+
self.class.unpause(options.merge(recordingId: self.id, client: @client))
|
193
|
+
end
|
194
|
+
|
195
|
+
# POST /recordings/live/%{recordingName}/mute
|
196
|
+
#
|
197
|
+
#
|
198
|
+
#
|
199
|
+
#
|
200
|
+
# Parameters:
|
201
|
+
#
|
202
|
+
# recordingName (required) - The name of the recording
|
203
|
+
#
|
204
|
+
def self.mute(options = {})
|
205
|
+
raise ArgumentError.new("Parameter recordingName must be passed in options hash.") unless options[:recordingName]
|
206
|
+
path = '/recordings/live/%{recordingName}/mute' % options
|
207
|
+
response = client(options).post(path, options)
|
208
|
+
end
|
209
|
+
|
210
|
+
def mute(options = {})
|
211
|
+
self.class.mute(options.merge(recordingId: self.id, client: @client))
|
212
|
+
end
|
213
|
+
|
214
|
+
# DELETE /recordings/live/%{recordingName}/mute
|
215
|
+
#
|
216
|
+
#
|
217
|
+
#
|
218
|
+
#
|
219
|
+
# Parameters:
|
220
|
+
#
|
221
|
+
# recordingName (required) - The name of the recording
|
222
|
+
#
|
223
|
+
def self.unmute(options = {})
|
224
|
+
raise ArgumentError.new("Parameter recordingName must be passed in options hash.") unless options[:recordingName]
|
225
|
+
path = '/recordings/live/%{recordingName}/mute' % options
|
226
|
+
response = client(options).delete(path, options)
|
227
|
+
rescue Ari::RequestError => e
|
228
|
+
raise unless e.code == '404'
|
229
|
+
end
|
230
|
+
|
231
|
+
def unmute(options = {})
|
232
|
+
self.class.unmute(options.merge(recordingId: self.id, client: @client))
|
233
|
+
end
|
234
|
+
|
235
|
+
|
236
|
+
end
|
237
|
+
end
|
238
|
+
|
239
|
+
Ari::Client.send :define_method, 'recordings' do
|
240
|
+
Ari::ListResource.new(self, Ari::Recording)
|
241
|
+
end
|