adhearsion / adhearsion-asr

Adds speech recognition support to Adhearsion as a plugin.
http://adhearsion.com
MIT License
6 stars 6 forks source link

Unknown completion reason received: #<Punchblock::Event::Complete::Stop> #16

Closed chewi closed 10 years ago

chewi commented 10 years ago

adhearsion-asr should be able to handle a stop reason but currently doesn't. See https://gist.github.com/chewi/96b0e10c5a7e10221f80 for the full logs. I'm seeing this on hangup, which suggests FS is sending the wrong reason but stop should still be handled properly.

benlangfeld commented 10 years ago

v1.1.1 is out with this fixed

chewi commented 10 years ago

That error went away but this one appeared. I'm calling ask in a loop. If I remove the loop or put break unless call.alive? before the ask then the error disappears but I thought that calling a method like ask when the call has already died was supposed to raise a Hangup exception, which is then caught safely.

[2014-01-29 10:50:23.135] ERROR TestController: <Adhearsion::Call::ExpiredError> This call is expired and is no longer accessible. See http://adhearsion.com/docs/calls for further details.
    /home/jlecuirot/Open/adhearsion/lib/adhearsion/call.rb:28:in `rescue in method_missing'
    /home/jlecuirot/Open/adhearsion/lib/adhearsion/call.rb:26:in `method_missing'
    /home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:201:in `write_and_await_response'
    /home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:212:in `execute_component_and_await_completion'
    /home/jlecuirot/.rvm/gems/ruby-2.0.0-p247@ahn-test/gems/adhearsion-asr-1.1.1/lib/adhearsion-asr/prompt_builder.rb:32:in `execute'
    /home/jlecuirot/.rvm/gems/ruby-2.0.0-p247@ahn-test/gems/adhearsion-asr-1.1.1/lib/adhearsion-asr/controller_methods.rb:49:in `ask'
    /home/jlecuirot/Open/ahn-test/lib/test_controller.rb:7:in `block in run'
    /home/jlecuirot/Open/ahn-test/lib/test_controller.rb:5:in `times'
    /home/jlecuirot/Open/ahn-test/lib/test_controller.rb:5:in `run'
    /home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:120:in `execute!'
    /home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:95:in `block in exec'
    /home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:94:in `catch'
    /home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:94:in `exec'
    /home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:111:in `exec_with_callback'
    /home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:105:in `block (2 levels) in bg_exec'
    /home/jlecuirot/Open/adhearsion/lib/adhearsion/foundation/exception_handler.rb:5:in `catching_standard_errors'
    /home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:104:in `block in bg_exec'
    /home/jlecuirot/.rvm/gems/ruby-2.0.0-p247@ahn-test/gems/celluloid-0.15.2/lib/celluloid/thread_handle.rb:13:in `block in initialize'
    /home/jlecuirot/.rvm/gems/ruby-2.0.0-p247@ahn-test/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:100:in `call'
    /home/jlecuirot/.rvm/gems/ruby-2.0.0-p247@ahn-test/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:100:in `block in create'
    /home/jlecuirot/.rvm/gems/ruby-2.0.0-p247@ahn-test/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `call'
    /home/jlecuirot/.rvm/gems/ruby-2.0.0-p247@ahn-test/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'
benlangfeld commented 10 years ago

Fixed in https://github.com/adhearsion/adhearsion/issues/435