#41 ✓resolved
ronin-9952 (at lighthouseapp)

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!'

Comments and changes to this ticket

  • Jay Phillips

    Jay Phillips December 7th, 2008 @ 09:45 PM

    • State changed from “new” to “open”
  • Jay Phillips

    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
  • Ben Klang

    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

    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.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Shared Ticket Bins

People watching this ticket