if user hangs up during record, we throw an exception
Reported by ronin-9952 (at lighthouseapp) | November 28th, 2008 @ 11:01 AM
I would think this would be expected behavior and we would catch the exception in record()
DEBUG agi: >>> EXEC Record /tmp/recording_%d.gsm|0|0 DEBUG agi: <<< 200 result=-1
DEBUG agi: >>> GET VARIABLE RECORDED_FILE ERROR agi:
#<Errno::ECONNRESET: Connection reset by peer> ERROR agi:
/opt/depot/adhearsion/lib/adhearsion/voip/asterisk/commands.rb:50:in
gets'
/opt/depot/adhearsion/lib/adhearsion/voip/asterisk/commands.rb:50:in `read'
/opt/depot/adhearsion/lib/adhearsion/voip/asterisk/commands.rb:64:in `raw_response'
/opt/depot/adhearsion/lib/adhearsion/voip/asterisk/commands.rb:542:in `get_variable'
/opt/depot/adhearsion/lib/adhearsion/voip/asterisk/commands.rb:155:in `record'
/home/wwalker/test_click_to_call/dialplan.rb:65:in `load'
/opt/depot/adhearsion/lib/adhearsion/voip/dial_plan.rb:38:in `instance_eval'
/opt/depot/adhearsion/lib/adhearsion/voip/dial_plan.rb:38:in `run'
/opt/depot/adhearsion/lib/adhearsion/voip/dial_plan.rb:99:in `handle'
/opt/depot/adhearsion/lib/adhearsion/voip/dial_plan.rb:74:in `handle'
/opt/depot/adhearsion/lib/adhearsion/voip/asterisk/agi_server.rb:23:in `serve'
/opt/depot/ruby-1.8.7-p72/lib/ruby/1.8/gserver.rb:211:in `start'
/opt/depot/ruby-1.8.7-p72/lib/ruby/1.8/gserver.rb:208:in `initialize'
/opt/depot/ruby-1.8.7-p72/lib/ruby/1.8/gserver.rb:208:in `new'
/opt/depot/ruby-1.8.7-p72/lib/ruby/1.8/gserver.rb:208:in `start'
/opt/depot/ruby-1.8.7-p72/lib/ruby/1.8/gserver.rb:198:in `initialize'
/opt/depot/ruby-1.8.7-p72/lib/ruby/1.8/gserver.rb:198:in `new'
/opt/depot/ruby-1.8.7-p72/lib/ruby/1.8/gserver.rb:198:in `start'
/opt/depot/adhearsion/lib/adhearsion/voip/asterisk/agi_server.rb:66:in `start'
/opt/depot/adhearsion/lib/adhearsion/initializer/asterisk.rb:54:in `join_server_thread_after_initialized'
/opt/depot/ruby-1.8.7-p72/lib/ruby/gems/1.8/gems/theatre-0.8.0/lib/theatre.rb:65:in `call'
/opt/depot/ruby-1.8.7-p72/lib/ruby/gems/1.8/gems/theatre-0.8.0/lib/theatre.rb:65:in `trigger_immediately'
/opt/depot/ruby-1.8.7-p72/lib/ruby/gems/1.8/gems/theatre-0.8.0/lib/theatre.rb:62:in `map'
/opt/depot/ruby-1.8.7-p72/lib/ruby/gems/1.8/gems/theatre-0.8.0/lib/theatre.rb:62:in `trigger_immediately'
/opt/depot/adhearsion/lib/adhearsion/events_support.rb:39:in `trigger_immediately'
/opt/depot/adhearsion/lib/adhearsion/initializer.rb:311:in `trigger_after_initialized_hooks'
/opt/depot/adhearsion/lib/adhearsion/initializer.rb:118:in `start'
/opt/depot/adhearsion/lib/adhearsion/initializer.rb:70:in `start'
/opt/depot/adhearsion/lib/adhearsion/cli.rb:77:in `start'
/opt/depot/adhearsion/lib/adhearsion/cli.rb:18:in `send'
/opt/depot/adhearsion/lib/adhearsion/cli.rb:18:in `execute!'
/opt/depot/adhearsion/bin/ahn:28
Comments and changes to this ticket
-
Jay Phillips December 7th, 2008 @ 09:45 PM
- State changed from new to open
-
Jay Phillips December 7th, 2008 @ 10:02 PM
As I mentioned in bug #39, I may require Adhearsion use DeadAGI in the future. If the user includes a %d in the filename, Adhearsion will try to get the RECORDED_FILE variable.
Need to do more hands-on testing of this to decide on what I feel is the best approach without DeadAGI....
-
Jay Phillips March 24th, 2009 @ 06:41 PM
- Milestone cleared.
-
Ben Klang July 30th, 2010 @ 11:14 AM
- State changed from open to new
- Milestone order changed from 0 to 0
Starting in Asterisk 1.6, all AGI are treated like DeadAGI. Also, Asterisk may now throw a Hangup exception instead of a Errno::ECONNRESET. Is there any reason that the exception shouldn't be caught by the dialplan.rb?
-
Ben Klang August 24th, 2010 @ 04:37 PM
- State changed from new to resolved
Also, starting with Adhearsion 0.8.4 we use RECORD FILE instead of Exec Record. Closing this as the issue seems to no longer be present.
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป