adhearsion 0.8.2 → 0.8.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +7 -0
- data/adhearsion.gemspec +1 -1
- data/app_generators/ahn/templates/components/ami_remote/ami_remote.rb +1 -1
- data/app_generators/ahn/templates/components/disabled/sandbox/sandbox.rb +1 -1
- data/app_generators/ahn/templates/config/startup.rb +1 -1
- data/lib/adhearsion/initializer.rb +1 -1
- data/lib/adhearsion/version.rb +1 -1
- data/lib/adhearsion/voip/asterisk/commands.rb +101 -70
- data/lib/adhearsion/voip/asterisk/manager_interface.rb +39 -8
- data/lib/adhearsion/voip/asterisk/manager_interface/ami_lexer.rb +477 -551
- data/lib/adhearsion/voip/asterisk/manager_interface/ami_lexer.rl.rb +3 -2
- data/lib/adhearsion/voip/asterisk/manager_interface/ami_protocol_lexer_machine.rl +3 -3
- data/lib/adhearsion/voip/call.rb +12 -3
- metadata +6 -4
@@ -193,7 +193,8 @@ module Adhearsion
|
|
193
193
|
end
|
194
194
|
|
195
195
|
def follows_text_stops
|
196
|
-
text = @data[@last_seen_value_end
|
196
|
+
text = @data[@last_seen_value_end..@current_pointer]
|
197
|
+
text.sub! /\r?\n--END COMMAND--/, ""
|
197
198
|
@current_message.text_body = text
|
198
199
|
@follows_text_start = nil
|
199
200
|
end
|
@@ -283,4 +284,4 @@ VVVVVVVVVVVVVVVVVVVVVVVVVVVVV
|
|
283
284
|
end
|
284
285
|
end
|
285
286
|
end
|
286
|
-
end
|
287
|
+
end
|
@@ -24,10 +24,10 @@ rest_of_line = (any* -- crlf); # Match all characters until the next line sepera
|
|
24
24
|
|
25
25
|
Prompt = "Asterisk Call Manager/" digit+ >version_starts "." digit+ %version_stops crlf;
|
26
26
|
|
27
|
-
Key = ((alnum | print) -- (cr | lf))+;
|
27
|
+
Key = ((alnum | print) -- (cr | lf | ":"))+;
|
28
28
|
KeyValuePair = Key >key_starts %key_stops colon rest_of_line >value_starts %value_stops crlf;
|
29
29
|
|
30
|
-
FollowsDelimiter =
|
30
|
+
FollowsDelimiter = loose_newline "--END COMMAND--";
|
31
31
|
|
32
32
|
Response = "Response"i colon;
|
33
33
|
|
@@ -81,7 +81,7 @@ success := KeyValuePair* crlf @message_received @{fgoto protocol;};
|
|
81
81
|
response_follows := |*
|
82
82
|
KeyValuePair+;
|
83
83
|
FollowsBody;
|
84
|
-
crlf @{ message_received; fgoto protocol; };
|
84
|
+
crlf @{ message_received @current_message; fgoto protocol; };
|
85
85
|
*|;
|
86
86
|
|
87
87
|
}%%
|
data/lib/adhearsion/voip/call.rb
CHANGED
@@ -318,7 +318,15 @@ module Adhearsion
|
|
318
318
|
if Adhearsion::VoIP::DSL::NumericalString.starts_with_leading_zero?(value)
|
319
319
|
Adhearsion::VoIP::DSL::NumericalString.new(value)
|
320
320
|
else
|
321
|
-
is_float
|
321
|
+
if is_float
|
322
|
+
if key == :uniqueid
|
323
|
+
value
|
324
|
+
else
|
325
|
+
value.to_f
|
326
|
+
end
|
327
|
+
else
|
328
|
+
value.to_i
|
329
|
+
end
|
322
330
|
end
|
323
331
|
else
|
324
332
|
value
|
@@ -343,9 +351,10 @@ module Adhearsion
|
|
343
351
|
end
|
344
352
|
|
345
353
|
def coerce_request_into_uri_object(variables)
|
346
|
-
|
354
|
+
if variables[:request]
|
347
355
|
variables[:request] = URI.parse(variables[:request]) unless variables[:request].kind_of? URI
|
348
356
|
end
|
357
|
+
variables
|
349
358
|
end
|
350
359
|
|
351
360
|
def coerce_type_of_number_into_symbol(variables)
|
@@ -356,7 +365,7 @@ module Adhearsion
|
|
356
365
|
|
357
366
|
def decompose_uri_query_into_hash(variables)
|
358
367
|
returning variables do
|
359
|
-
if variables[:request].query
|
368
|
+
if variables[:request] && variables[:request].query
|
360
369
|
variables[:query] = variables[:request].query.split('&').inject({}) do |query_string_parameters, key_value_pair|
|
361
370
|
parameter_name, parameter_value = *key_value_pair.match(/(.+)=(.*)/).captures
|
362
371
|
query_string_parameters[parameter_name] = parameter_value
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adhearsion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jay Phillips
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-08-21 00:00:00 -
|
12
|
+
date: 2008-08-21 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -152,8 +152,10 @@ files:
|
|
152
152
|
- lib/theatre/version.rb
|
153
153
|
- LICENSE
|
154
154
|
- Rakefile
|
155
|
-
has_rdoc:
|
155
|
+
has_rdoc: true
|
156
156
|
homepage: http://adhearsion.com
|
157
|
+
licenses: []
|
158
|
+
|
157
159
|
post_install_message:
|
158
160
|
rdoc_options: []
|
159
161
|
|
@@ -174,7 +176,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
176
|
requirements: []
|
175
177
|
|
176
178
|
rubyforge_project: adhearsion
|
177
|
-
rubygems_version: 1.3.
|
179
|
+
rubygems_version: 1.3.5
|
178
180
|
signing_key:
|
179
181
|
specification_version: 2
|
180
182
|
summary: Adhearsion, open-source telephony development framework
|