Allow inbound calls to Cellar

Stephen Paul Weber created

Not just voicemail

Change summary

lib/call_attempt_repo.rb |  2 +-
lib/trust_level.rb       | 10 +++++-----
lib/welcome_message.rb   |  3 ++-
3 files changed, 8 insertions(+), 7 deletions(-)

Detailed changes

lib/call_attempt_repo.rb 🔗

@@ -65,7 +65,7 @@ protected
 				supported:
 					rate &&
 					other_tel !~ /\A\+?1?[94]11\Z/ &&
-					tl.support_call?(rate, c || 0),
+					tl.support_call?(rate, c || 0, direction),
 				direction: direction, **kwargs
 			)
 		end

lib/trust_level.rb 🔗

@@ -90,8 +90,8 @@ module TrustLevel
 			true
 		end
 
-		def support_call?(*)
-			false
+		def support_call?(_, concurrency, direction)
+			direction == :inbound && concurrency < 1
 		end
 
 		def send_message?(tel, *)
@@ -137,7 +137,7 @@ module TrustLevel
 			true
 		end
 
-		def support_call?(rate, concurrency)
+		def support_call?(rate, concurrency, *)
 			rate <= 0.02 && concurrency < 1
 		end
 
@@ -195,7 +195,7 @@ module TrustLevel
 			true
 		end
 
-		def support_call?(_, concurrency)
+		def support_call?(_, concurrency, *)
 			concurrency < 10 ? :anyroute : false
 		end
 
@@ -304,7 +304,7 @@ module TrustLevel
 			true
 		end
 
-		def support_call?(rate, concurrency)
+		def support_call?(rate, concurrency, *)
 			rate <= @max_rate && concurrency < 4 ? :anyroute : false
 		end
 

lib/welcome_message.rb 🔗

@@ -23,7 +23,8 @@ class WelcomeMessage
 	end
 
 	def warning
-		if @trust_level.support_call?(0, 0) && @trust_level.send_message?("+1", 0)
+		if @trust_level.support_call?(0, 0, :outbound) &&
+		   @trust_level.send_message?("+1", 0)
 			return
 		end