Sha256: 673c0c4fc2eacbd6c92afb04b26e5a900861d8d46e2a02028e3bace949040bd6
Contents?: true
Size: 936 Bytes
Versions: 3
Compression:
Stored size: 936 Bytes
Contents
# encoding: utf-8 require 'ruby_ami' module Punchblock module Connection class Asterisk < GenericConnection attr_reader :ami_client, :translator attr_accessor :event_handler def initialize(options = {}) @ami_client = RubyAMI::Stream.new options[:host], options[:port], options[:username], options[:password], ->(event) { translator.async.handle_ami_event event }, pb_logger @translator = Translator::Asterisk.new @ami_client, self, options[:media_engine] super() end def run ami_client.async.run Celluloid::Actor.join(ami_client) raise DisconnectedError end def stop translator.async.shutdown ami_client.terminate end def write(command, options) translator.async.execute_command command, options end def handle_event(event) event_handler.call event end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
punchblock-1.9.4 | lib/punchblock/connection/asterisk.rb |
punchblock-1.9.3 | lib/punchblock/connection/asterisk.rb |
punchblock-1.9.2 | lib/punchblock/connection/asterisk.rb |