Closed ggayan closed 9 years ago
A full trace log and a few pointers about what is in the app would be perfect to be able to handle this. Thanks!
Ok, my config/adhearsion.rb
file is something like this:
# encoding: utf-8
Adhearsion.config do |config|
config.development do |dev|
dev.platform.logging.level = :debug
end
config.virginia.handler = ApiHandler
config.platform.process_name = 'octophone'
config.punchblock.platform = :asterisk
config.punchblock.username = "..."
config.punchblock.password = "..."
config.punchblock.host = "..."
end
Adhearsion::Events.draw do
end
Adhearsion.router do
route 'Internal Call', InternalCall, to: /^[1236][0-9]{3}$/
end
lib/internal_call.rb
:
class InternalCall < Adhearsion::CallController
def run
answer
dial "SIP/#{call.to}"
end
end
lib/api_handler.rb
:
require 'reel'
require 'reel/app'
class ApiHandler
include Reel::App
get('/dial') do
Adhearsion::OutboundCall.originate 'SIP/1011' do
dial 'SIP/1026'
end
[200, {}, "200 OK"]
end
end
both 1011
and 1026
are internal sip accounts on our asterisk config.
after doing a GET
to localhost:8080/dial
, ending the call, and shutting down adhearsion:
[2013-05-23 12:15:28] DEBUG Celluloid: Terminating 7 actors...
[2013-05-23 12:15:28] ERROR Celluloid: Celluloid::SupervisionGroup crashed!
Errno::EBADF: Bad file descriptor
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-io-0.14.0/lib/celluloid/io.rb:37:in `select'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-io-0.14.0/lib/celluloid/io.rb:37:in `wait_readable'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:33:in `wait_readable'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:46:in `rescue in block in sysread'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:43:in `block in sysread'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:399:in `synchronize'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:42:in `sysread'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:128:in `readpartial'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/reel-0.3.0/lib/reel/request.rb:19:in `read'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/reel-0.3.0/lib/reel/connection.rb:52:in `request'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/reel-0.3.0/lib/reel/app.rb:18:in `block in initialize'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-0.14.0/lib/celluloid/calls.rb:149:in `call'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-0.14.0/lib/celluloid/calls.rb:149:in `dispatch'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-0.14.0/lib/celluloid/actor.rb:331:in `block in handle_message'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-0.14.0/lib/celluloid/tasks.rb:42:in `block in initialize'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-0.14.0/lib/celluloid/tasks/task_fiber.rb:9:in `block in create'
[2013-05-23 12:15:28] ERROR Adhearsion::Initializer: <Errno::EBADF> Bad file descriptor
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-io-0.14.0/lib/celluloid/io.rb:37:in `select'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-io-0.14.0/lib/celluloid/io.rb:37:in `wait_readable'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:33:in `wait_readable'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:46:in `rescue in block in sysread'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:43:in `block in sysread'
/Users/mak/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/celluloid-io-0.14.0/lib/c[2013-05-23 12:15:28] DEBUG Celluloid: Shutdown completed cleanly
Got the next stacktrace: