Class: CiscoWebex::EndpointControl

Inherits:
Calling
  • Object
show all
Defined in:
lib/Calling/CallControl.rb

Instance Method Summary collapse

Methods inherited from Calling

#call_control, #calls, #get, #head, #me, #post, #put, #voicemail

Constructor Details

#initialize(token = nil) ⇒ EndpointControl

initialize object with stored token



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/Calling/CallControl.rb', line 6

def initialize(token=nil)
	if not token
		raise "Must provide API key"
	else
		if ! token
			raise "CiscoWebex::Calling::EndpointControl API Token not valid!"
		else
			@auth_token = token
		end
	end
end

Instance Method Details

#answer(params = {}) ⇒ Object



44
45
46
47
48
49
50
51
52
# File 'lib/Calling/CallControl.rb', line 44

def answer(params={})
	params = { "callId"=> params } if params.class == String
	if params.class == Hash && params.has_key?('callId')
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/answer", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.answer(): Must contain `callId`."
		return False
	end
end

#barge(params = {}) ⇒ Object



84
85
86
87
88
89
90
91
92
# File 'lib/Calling/CallControl.rb', line 84

def barge(params={})
	params = { "target"=> params } if params.class == String
	if params.class == Hash && params.has_key?('target')
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/bargeIn", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.barge(): Must contain `target`."
		return False
	end
end

#dial(params = {}) ⇒ Object



22
23
24
25
26
27
28
29
30
# File 'lib/Calling/CallControl.rb', line 22

def dial(params={})
	params = { "destination"=> params } if params.class == String
	if params.class == Hash && params.has_key?('destination')
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/dial", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.dial(): Must contain `destination`."
		return False
	end
end

#divert(params = {}, destination = nil, to_voicemail = false) ⇒ Object



146
147
148
149
150
151
152
153
154
155
156
# File 'lib/Calling/CallControl.rb', line 146

def divert(params={}, destination=nil, to_voicemail=false)
	if params.class == String
		params = { "callId"=> params, "destination"=> destination, "toVoicemail"=>to_voicemail } 
	end
	if params.class == Hash && params.has_key?('callId') && ( params['destination'] || params['toVoicemail'] )
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/divert", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.divert(): Must contain `callId` and `destination` or `to_voicemail`."
		return False
	end
end

#dtmf(params = {}, dtmf = nil) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
# File 'lib/Calling/CallControl.rb', line 32

def dtmf(params={}, dtmf=nil)
	if params.class == String
		params = { "callId"=> params, "dtmf"=> dtmf} 
	end
	if params.class == Hash && params.has_key?('callId') && params.has_key?('dtmf') && params['dtmf'] =~ /[\,0-9\*#ABCD]*/
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/transmitDTMF", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.dtmf(): Must contain `callId` and `dtmf`."
		return False
	end
end

#hangup(params = {}) ⇒ Object



94
95
96
97
98
99
100
101
102
# File 'lib/Calling/CallControl.rb', line 94

def hangup(params={})
	params = { "callId"=> params } if params.class == String
	if params.class == Hash && params.has_key?('callId')
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/hangup", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.hangup(): Must contain `callId`."
		return False
	end
end

#hold(params = {}) ⇒ Object



104
105
106
107
108
109
110
111
112
# File 'lib/Calling/CallControl.rb', line 104

def hold(params={})
	params = { "callId"=> params } if params.class == String
	if params.class == Hash && params.has_key?('callId')
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/hold", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.hold(): Must contain `callId`."
		return False
	end
end

#park(params = {}, destination = nil, is_group_park = false) ⇒ Object



124
125
126
127
128
129
130
131
132
133
134
# File 'lib/Calling/CallControl.rb', line 124

def park(params={}, destination=nil, is_group_park=false)
	if params.class == String
		params = { "callId"=> params, "destination"=> destination, "isGroupPark"=>is_group_park } 
	end
	if params.class == Hash && params.has_key?('callId') && ( params['destination'] || params['isGroupPark'] )
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/park", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.park(): Must contain `callId` and `destination` and `is_group_park`."
		return False
	end
end

#pause_recording(params = {}) ⇒ Object



190
191
192
193
194
195
196
197
198
# File 'lib/Calling/CallControl.rb', line 190

def pause_recording(params={})
	params = { "callId"=> params } if params.class == String
	if params.class == Hash && params.has_key?('callId')
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/pauseRecording", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.pause_recording(): Must contain callId."
		return False
	end
end

#pickup(params = {}) ⇒ Object



74
75
76
77
78
79
80
81
82
# File 'lib/Calling/CallControl.rb', line 74

def pickup(params={})
	params = { "target"=> params } if params.class == String
	if params.class == Hash && params.has_key?('target')
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/pickup", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.pickup(): Must contain `target`."
		return False
	end
end

#push(params = {}) ⇒ Object



64
65
66
67
68
69
70
71
72
# File 'lib/Calling/CallControl.rb', line 64

def push(params={})
	params = { "callId"=> params } if params.class == String
	if params.class == Hash && params.has_key?('callId')
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/push", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.push(): Must contain `callId`."
		return False
	end
end

#reject(params = {}) ⇒ Object



54
55
56
57
58
59
60
61
62
# File 'lib/Calling/CallControl.rb', line 54

def reject(params={})
	params = { "callId"=> params } if params.class == String
	if params.class == Hash && params.has_key?('callId')
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/reject", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.reject(): Must contain `callId`."
		return False
	end
end

#resume(params = {}) ⇒ Object



114
115
116
117
118
119
120
121
122
# File 'lib/Calling/CallControl.rb', line 114

def resume(params={})
	params = { "callId"=> params } if params.class == String
	if params.class == Hash && params.has_key?('callId')
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/resume", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.resume(): Must contain `callId`."
		return False
	end
end

#resume_recording(params = {}) ⇒ Object



200
201
202
203
204
205
206
207
208
# File 'lib/Calling/CallControl.rb', line 200

def resume_recording(params={})
	params = { "callId"=> params } if params.class == String
	if params.class == Hash && params.has_key?('callId')
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/resumeRecording", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.resume_recording(): Must contain callId."
		return False
	end
end

#retrieve(params = {}) ⇒ Object



136
137
138
139
140
141
142
143
144
# File 'lib/Calling/CallControl.rb', line 136

def retrieve(params={})
	params = { "destination"=> params } if params.class == String
	if params.class == Hash && params.has_key?('destination')
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/retrieve", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.retrieve(): Must contain `destination`."
		return False
	end
end

#start_recording(params = {}) ⇒ Object



170
171
172
173
174
175
176
177
178
# File 'lib/Calling/CallControl.rb', line 170

def start_recording(params={})
	params = { "callId"=> params } if params.class == String
	if params.class == Hash && params.has_key?('callId')
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/startRecording", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.start_recording(): Must contain callId."
		return False
	end
end

#stop_recording(params = {}) ⇒ Object



180
181
182
183
184
185
186
187
188
# File 'lib/Calling/CallControl.rb', line 180

def stop_recording(params={})
	params = { "callId"=> params } if params.class == String
	if params.class == Hash && params.has_key?('callId')
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/stopRecording", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.stop_recording(): Must contain callId."
		return False
	end
end

#thisObject



18
19
20
# File 'lib/Calling/CallControl.rb', line 18

def this()
	puts "CiscoWebex::Calling::EndpointControl"
end

#transfer(params = {}, callid_2 = nil, destination = nil) ⇒ Object



158
159
160
161
162
163
164
165
166
167
168
# File 'lib/Calling/CallControl.rb', line 158

def transfer(params={}, callid_2=nil, destination=nil)
	if params.class == String
		params = { "callId1"=> params, "callId2"=> callid_2, "destination"=> destination } 
	end
	if params.class == Hash && params.has_key?('callId1') && params.has_key?('callId2') &&params.has_key?('destination')
		return CiscoWebex::Rest.post(@auth_token, "/v1/telephony/calls/transfer", params)
	else
		STDERR.puts "CiscoWebex::Calling::EndpointControl.transfer(): Must contain `callid_1` and `callid_2` and `destination`."
		return False
	end
end