punchblock 2.7.1 → 2.7.2
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/CHANGELOG.md +3 -0
- data/lib/punchblock/translator/asterisk/call.rb +2 -1
- data/lib/punchblock/version.rb +1 -1
- data/spec/punchblock/translator/asterisk/call_spec.rb +56 -11
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 02c18140e4e4849651937dbae454e815b0674579
|
|
4
|
+
data.tar.gz: 5465841458d3d77df6b362ed694ad34978678bf4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ee18823aea7cdba8ab462c4cf9571d894b4a35412bbf489c9c02adbd505ea4e4110a3e72d0a12c723d317b21c96f70d9e78345109ed86a26d505e791df88fede
|
|
7
|
+
data.tar.gz: 7416b6895971bcebd5e97b4886e7c9094a3673329c61717ce2245b25d82523d3f7e5c6a5fc85b86285244cfadf20730c725a8d313346b75d1b98b5288ccf8d94
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# [develop](https://github.com/adhearsion/punchblock)
|
|
2
2
|
|
|
3
|
+
# [v2.7.2](https://github.com/adhearsion/punchblock/compare/v2.7.1...v2.7.2) - [2015-08-10](https://rubygems.org/gems/punchblock/versions/2.7.2)
|
|
4
|
+
* Bugfix: Process joined events on Asterisk 13 in any order, avoiding Join command timeouts
|
|
5
|
+
|
|
3
6
|
# [v2.7.1](https://github.com/adhearsion/punchblock/compare/v2.7.0...v2.7.1) - [2015-07-14](https://rubygems.org/gems/punchblock/versions/2.7.1)
|
|
4
7
|
* Bugfix: Ensure components are deregistered from asterisk translator once the call is ended ([#250](https://github.com/adhearsion/punchblock/pull/250))
|
|
5
8
|
|
|
@@ -139,7 +139,8 @@ module Punchblock
|
|
|
139
139
|
when 'BridgeEnter'
|
|
140
140
|
if other_call_channel = translator.bridges.delete(ami_event['BridgeUniqueid'])
|
|
141
141
|
if other_call = translator.call_for_channel(other_call_channel)
|
|
142
|
-
join_command
|
|
142
|
+
join_command = @pending_joins.delete other_call_channel
|
|
143
|
+
join_command ||= other_call.pending_joins.delete channel
|
|
143
144
|
join_command.response = true if join_command
|
|
144
145
|
|
|
145
146
|
event = Event::Joined.new call_uri: other_call.id, timestamp: ami_event.best_time
|
data/lib/punchblock/version.rb
CHANGED
|
@@ -836,11 +836,11 @@ module Punchblock
|
|
|
836
836
|
Punchblock::Command::Join.new call_uri: other_call_id
|
|
837
837
|
end
|
|
838
838
|
|
|
839
|
-
let :
|
|
839
|
+
let :second_ami_event do
|
|
840
840
|
RubyAMI::Event.new 'BridgeEnter',
|
|
841
841
|
'Privilege' => "call,all",
|
|
842
842
|
'BridgeUniqueid' => bridge_uniqueid,
|
|
843
|
-
'Channel' =>
|
|
843
|
+
'Channel' => other_channel
|
|
844
844
|
end
|
|
845
845
|
|
|
846
846
|
let :expected_joined do
|
|
@@ -854,27 +854,49 @@ module Punchblock
|
|
|
854
854
|
end
|
|
855
855
|
|
|
856
856
|
before do
|
|
857
|
-
translator.
|
|
857
|
+
translator.register_call subject
|
|
858
858
|
translator.register_call other_call
|
|
859
|
-
|
|
860
|
-
other_call.pending_joins[channel] = command
|
|
861
859
|
command.request!
|
|
862
860
|
expect(subject).to receive(:execute_agi_command).and_return code: 200
|
|
863
861
|
subject.execute_command command
|
|
862
|
+
translator.handle_ami_event ami_event
|
|
864
863
|
end
|
|
865
864
|
|
|
866
865
|
it 'sends the correct Joined events' do
|
|
867
866
|
expect(translator).to receive(:handle_pb_event).with expected_joined
|
|
868
867
|
expect(translator).to receive(:handle_pb_event).with expected_joined_other
|
|
869
|
-
|
|
868
|
+
translator.handle_ami_event second_ami_event
|
|
870
869
|
expect(command.response(0.5)).to eq(true)
|
|
871
870
|
end
|
|
871
|
+
|
|
872
|
+
context 'out of order' do
|
|
873
|
+
let :ami_event do
|
|
874
|
+
RubyAMI::Event.new 'BridgeEnter',
|
|
875
|
+
'Privilege' => "call,all",
|
|
876
|
+
'BridgeUniqueid' => bridge_uniqueid,
|
|
877
|
+
'Channel' => other_channel
|
|
878
|
+
end
|
|
879
|
+
|
|
880
|
+
let :second_ami_event do
|
|
881
|
+
RubyAMI::Event.new 'BridgeEnter',
|
|
882
|
+
'Privilege' => "call,all",
|
|
883
|
+
'BridgeUniqueid' => bridge_uniqueid,
|
|
884
|
+
'Channel' => call_channel
|
|
885
|
+
end
|
|
886
|
+
|
|
887
|
+
it 'sends the correct Joined events' do
|
|
888
|
+
expect(translator).to receive(:handle_pb_event).with expected_joined
|
|
889
|
+
expect(translator).to receive(:handle_pb_event).with expected_joined_other
|
|
890
|
+
translator.handle_ami_event second_ami_event
|
|
891
|
+
expect(command.response(0.5)).to eq(true)
|
|
892
|
+
end
|
|
893
|
+
end
|
|
872
894
|
end
|
|
873
895
|
end
|
|
874
896
|
|
|
875
897
|
context 'with a BridgeLeave event' do
|
|
876
898
|
let(:bridge_uniqueid) { "1234-5678" }
|
|
877
|
-
let(:call_channel) { "SIP/foo
|
|
899
|
+
let(:call_channel) { "SIP/foo" }
|
|
878
900
|
let :ami_event do
|
|
879
901
|
RubyAMI::Event.new 'BridgeLeave',
|
|
880
902
|
'Privilege' => "call,all",
|
|
@@ -896,11 +918,11 @@ module Punchblock
|
|
|
896
918
|
end
|
|
897
919
|
let(:other_call_id) { other_call.id }
|
|
898
920
|
|
|
899
|
-
let :
|
|
921
|
+
let :second_ami_event do
|
|
900
922
|
RubyAMI::Event.new 'BridgeLeave',
|
|
901
923
|
'Privilege' => "call,all",
|
|
902
924
|
'BridgeUniqueid' => bridge_uniqueid,
|
|
903
|
-
'Channel' =>
|
|
925
|
+
'Channel' => other_channel
|
|
904
926
|
end
|
|
905
927
|
|
|
906
928
|
let :expected_unjoined do
|
|
@@ -914,14 +936,37 @@ module Punchblock
|
|
|
914
936
|
end
|
|
915
937
|
|
|
916
938
|
before do
|
|
917
|
-
translator.
|
|
939
|
+
translator.register_call subject
|
|
918
940
|
translator.register_call other_call
|
|
941
|
+
translator.handle_ami_event ami_event
|
|
919
942
|
end
|
|
920
943
|
|
|
921
944
|
it 'sends the correct Unjoined events' do
|
|
922
945
|
expect(translator).to receive(:handle_pb_event).with expected_unjoined
|
|
923
946
|
expect(translator).to receive(:handle_pb_event).with expected_unjoined_other
|
|
924
|
-
|
|
947
|
+
translator.handle_ami_event second_ami_event
|
|
948
|
+
end
|
|
949
|
+
|
|
950
|
+
context 'out of order' do
|
|
951
|
+
let :ami_event do
|
|
952
|
+
RubyAMI::Event.new 'BridgeLeave',
|
|
953
|
+
'Privilege' => "call,all",
|
|
954
|
+
'BridgeUniqueid' => bridge_uniqueid,
|
|
955
|
+
'Channel' => other_channel
|
|
956
|
+
end
|
|
957
|
+
|
|
958
|
+
let :second_ami_event do
|
|
959
|
+
RubyAMI::Event.new 'BridgeLeave',
|
|
960
|
+
'Privilege' => "call,all",
|
|
961
|
+
'BridgeUniqueid' => bridge_uniqueid,
|
|
962
|
+
'Channel' => call_channel
|
|
963
|
+
end
|
|
964
|
+
|
|
965
|
+
it 'sends the correct Unjoined events' do
|
|
966
|
+
expect(translator).to receive(:handle_pb_event).with expected_unjoined
|
|
967
|
+
expect(translator).to receive(:handle_pb_event).with expected_unjoined_other
|
|
968
|
+
translator.handle_ami_event second_ami_event
|
|
969
|
+
end
|
|
925
970
|
end
|
|
926
971
|
end
|
|
927
972
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: punchblock
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.7.
|
|
4
|
+
version: 2.7.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jason Goecke
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2015-
|
|
13
|
+
date: 2015-08-10 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: nokogiri
|