From 88e2c3f1b967137d0df3e810daecb3d77488b8c5 Mon Sep 17 00:00:00 2001 From: zhao lu Date: Sun, 20 Feb 2011 00:28:25 -0800 Subject: [PATCH] incoming calls gets forwarded to phono_sip_address, user can use voice to control menu --- app/controllers/incoming_calls_controller.rb | 4 ++++ app/models/incoming_call.rb | 2 +- app/models/user.rb | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/controllers/incoming_calls_controller.rb b/app/controllers/incoming_calls_controller.rb index 85f4699..f6fef79 100644 --- a/app/controllers/incoming_calls_controller.rb +++ b/app/controllers/incoming_calls_controller.rb @@ -64,6 +64,7 @@ def user_menu :terminator => "*") end render :json => tropo.response + return end case value @@ -74,6 +75,7 @@ def user_menu :terminator => "ring(*)") end render :json => tropo.response + return when "voicemail" session_id = params[:session_id] call_id = params[:call_id] @@ -89,6 +91,7 @@ def user_menu hangup end render :json => tropo.response + return when "listenin" caller_id = CGI::escape(params[:caller_id]) user_id = params[:user_id] @@ -106,6 +109,7 @@ def user_menu :terminator => "ring(*)") end render :json => tropo.response + return end render :status => 200, :nothing => true end diff --git a/app/models/incoming_call.rb b/app/models/incoming_call.rb index 0813e55..ad6cb59 100644 --- a/app/models/incoming_call.rb +++ b/app/models/incoming_call.rb @@ -53,7 +53,7 @@ def self.followme(params) ask(:name => 'main-menu-incoming', :attempts => 3, :bargein => true, - :choices => {:value => "connect(1), voicemail(2), listenin(3)", :mode => "DTMF"}, + :choices => {:value => "connect(1,connect), voicemail(2,voicemail), listenin(3,listen)"}, :say => {:value => "Incoming call from #{name_recording} , press 1 to accept, press 2 to send to voicemail, press 3 to listen in. "}) end tropo.response diff --git a/app/models/user.rb b/app/models/user.rb index 9a03b8b..35eb885 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -33,7 +33,9 @@ def default_phone_number # returns all the forward phone_numbers def forwarding_numbers - phone_numbers.select{ |n| n.forward == true }.map(&:number) + numbers = phone_numbers.select{ |n| n.forward == true }.map(&:number) + numbers << profiles.first.phono_sip_address if profiles.first.phono_sip_address + numbers end def create_profile