signalwire 2.1.1 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +9 -2
- data/examples/relay/wait_for_ending.rb +30 -0
- data/lib/signalwire/blade/connection.rb +6 -2
- data/lib/signalwire/logger.rb +1 -1
- data/lib/signalwire/relay/calling.rb +13 -3
- data/lib/signalwire/relay/calling/call.rb +3 -3
- data/lib/signalwire/relay/messaging.rb +2 -2
- data/lib/signalwire/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a5ba44a20acd7bb12393399af0f7457543d60030
|
4
|
+
data.tar.gz: '069bc5cbbe6465918eab2e726d88b2120b5519a8'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b93d4efd4ab92f26fba1934720c1a03b50e17ad5576ea743af02654584170ff702a793fc2b201bb614a9b44d3ae82cd4feffc49de3d5790cd82b6bd88fcc82eb
|
7
|
+
data.tar.gz: 27353d85dd32d496b747c78659badb0c56df081cfdb37d707a6e8acb400d0e17399aecca433237b3a8c3efc633d96b29dd4cce346f8ef52b3b159fda58a1d535
|
data/CHANGELOG.md
CHANGED
@@ -3,13 +3,20 @@ All notable changes to this project will be documented in this file.
|
|
3
3
|
|
4
4
|
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
5
5
|
|
6
|
-
## [2.1.
|
6
|
+
## [2.1.2] - 2019-08-01
|
7
|
+
### Fixed
|
8
|
+
- Fix CPU usage
|
9
|
+
- Set default log level to INFO.
|
10
|
+
- Fix incorrect names for messaging parameters.
|
11
|
+
- Fix an issue when creating new calls.
|
12
|
+
|
13
|
+
## [2.1.1] - 2019-08-01
|
7
14
|
### Fixed
|
8
15
|
- Correctly set `peer` on calls
|
9
16
|
### Changed
|
10
17
|
- Call `Consumer::teardown` on shutdown
|
11
18
|
|
12
|
-
## [2.1.0] 2019-07-29
|
19
|
+
## [2.1.0] - 2019-07-29
|
13
20
|
### Added
|
14
21
|
- Tap API for Relay
|
15
22
|
- `:task` broadcast from client
|
@@ -0,0 +1,30 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__) + '/../lib')
|
2
|
+
%w[
|
3
|
+
bundler/setup
|
4
|
+
signalwire
|
5
|
+
].each { |f| require f }
|
6
|
+
|
7
|
+
Signalwire::Logger.logger.level = ::Logger::DEBUG
|
8
|
+
|
9
|
+
MY_NUMBER = "+12027621401"
|
10
|
+
|
11
|
+
class MyConsumer < Signalwire::Relay::Consumer
|
12
|
+
contexts ['incoming']
|
13
|
+
def on_incoming_call(call)
|
14
|
+
call.answer
|
15
|
+
call.play_tts 'Welcome to Relay'
|
16
|
+
dial = call.connect [[{ type: 'phone', params: { to_number: MY_NUMBER, from_number: call.from, timeout: 30 } }]]
|
17
|
+
pp "Connected"
|
18
|
+
pp dial.successful
|
19
|
+
dial.call.play_tts "Hello!" if dial.successful
|
20
|
+
pp "Waiting on Ending"
|
21
|
+
dial.call.wait_for_ending
|
22
|
+
call.play_tts 'finished. hanging up.'
|
23
|
+
call.hangup
|
24
|
+
rescue StandardError => e
|
25
|
+
logger.error e.inspect
|
26
|
+
logger.error e.backtrace
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
MyConsumer.new.run
|
@@ -56,10 +56,14 @@ module Signalwire::Blade
|
|
56
56
|
logger.error "Error occurred: #{error.message}"
|
57
57
|
end
|
58
58
|
|
59
|
-
|
59
|
+
schedule_flush_queues
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
63
|
+
def schedule_flush_queues
|
64
|
+
EM.add_timer(0.005) { flush_queues }
|
65
|
+
end
|
66
|
+
|
63
67
|
def setup_started_event
|
64
68
|
on :started do |_event|
|
65
69
|
@connected = true
|
@@ -132,7 +136,7 @@ module Signalwire::Blade
|
|
132
136
|
@outbound_queue.pop { |outbound| write(outbound) } until @outbound_queue.empty?
|
133
137
|
end
|
134
138
|
|
135
|
-
|
139
|
+
schedule_flush_queues
|
136
140
|
end
|
137
141
|
|
138
142
|
def enqueue_inbound(message)
|
data/lib/signalwire/logger.rb
CHANGED
@@ -10,7 +10,7 @@ module Signalwire
|
|
10
10
|
def logger
|
11
11
|
@logger ||= begin
|
12
12
|
logger = ::Logger.new(STDERR, progname: 'SignalWire', level: ::Logger::DEBUG)
|
13
|
-
logger.level = ENV.fetch('SIGNALWIRE_LOG_LEVEL', ::Logger::
|
13
|
+
logger.level = ENV.fetch('SIGNALWIRE_LOG_LEVEL', ::Logger::INFO)
|
14
14
|
logger
|
15
15
|
end
|
16
16
|
end
|
@@ -14,6 +14,7 @@ module Signalwire::Relay
|
|
14
14
|
|
15
15
|
def initialize(client)
|
16
16
|
@client = client
|
17
|
+
listen_for_created_calls
|
17
18
|
end
|
18
19
|
|
19
20
|
def calls
|
@@ -24,10 +25,19 @@ module Signalwire::Relay
|
|
24
25
|
@client.contexts
|
25
26
|
end
|
26
27
|
|
28
|
+
def listen_for_created_calls
|
29
|
+
@client.on :event, event_type: 'calling.call.state' do |event|
|
30
|
+
if !find_call_by_id(event.call_id)
|
31
|
+
created_call = Call.from_event(@client, event)
|
32
|
+
calls << created_call
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
27
37
|
def receive(context:, &block)
|
28
38
|
@client.on :event, event_type: 'calling.call.receive' do |event|
|
29
|
-
logger.
|
30
|
-
call_obj = Signalwire::Relay::Calling::Call.from_event(
|
39
|
+
logger.debug "Receiving call: #{event.call_params}"
|
40
|
+
call_obj = Signalwire::Relay::Calling::Call.from_event(@client, event)
|
31
41
|
calls << call_obj
|
32
42
|
block.call(call_obj) if block_given?
|
33
43
|
end
|
@@ -58,7 +68,7 @@ module Signalwire::Relay
|
|
58
68
|
}
|
59
69
|
}
|
60
70
|
}
|
61
|
-
call = Call.new(
|
71
|
+
call = Call.new(@client, params)
|
62
72
|
calls << call
|
63
73
|
call
|
64
74
|
end
|
@@ -13,7 +13,7 @@ module Signalwire::Relay::Calling
|
|
13
13
|
|
14
14
|
attr_reader :device, :type, :node_id, :context, :from, :to,
|
15
15
|
:timeout, :tag, :client, :state, :previous_state, :components,
|
16
|
-
:busy, :failed
|
16
|
+
:busy, :failed, :peer_call
|
17
17
|
def_delegators :@client, :relay_execute
|
18
18
|
|
19
19
|
def self.from_event(client, event)
|
@@ -64,7 +64,7 @@ module Signalwire::Relay::Calling
|
|
64
64
|
def update_call_fields(call_state)
|
65
65
|
@id = call_state[:call_id] if call_state[:call_id]
|
66
66
|
@node_id = call_state[:node_id] if call_state[:node_id]
|
67
|
-
@
|
67
|
+
@peer_call = call_state[:peer] if call_state[:peer]
|
68
68
|
end
|
69
69
|
|
70
70
|
def change_connect_state(new_connect_state)
|
@@ -96,7 +96,7 @@ module Signalwire::Relay::Calling
|
|
96
96
|
end
|
97
97
|
|
98
98
|
def peer
|
99
|
-
@client.calling.find_call_by_id(@
|
99
|
+
@client.calling.find_call_by_id(@peer_call[:call_id]) if @peer_call && @peer_call[:call_id]
|
100
100
|
end
|
101
101
|
|
102
102
|
def answer
|
data/lib/signalwire/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: signalwire
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- SignalWire Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-08-
|
11
|
+
date: 2019-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -268,6 +268,7 @@ files:
|
|
268
268
|
- examples/relay/outbound_tap.rb
|
269
269
|
- examples/relay/tasking/tasking_receive.rb
|
270
270
|
- examples/relay/tasking/tasking_send.rb
|
271
|
+
- examples/relay/wait_for_ending.rb
|
271
272
|
- lib/signalwire.rb
|
272
273
|
- lib/signalwire/blade.rb
|
273
274
|
- lib/signalwire/blade/connection.rb
|
@@ -356,7 +357,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
356
357
|
- !ruby/object:Gem::Version
|
357
358
|
version: '0'
|
358
359
|
requirements: []
|
359
|
-
|
360
|
+
rubyforge_project:
|
361
|
+
rubygems_version: 2.5.2.3
|
360
362
|
signing_key:
|
361
363
|
specification_version: 4
|
362
364
|
summary: Ruby client for Signalwire
|