Sha256: 62ffcab72bd3b8f3850f29646816ca724208a4b27ce96224115a793a1fd7643e

Contents?: true

Size: 1.91 KB

Versions: 1

Compression:

Stored size: 1.91 KB

Contents

module Adhearsion
  class PunchblockPlugin < Plugin
    extend ActiveSupport::Autoload

    autoload :Initializer

    config :punchblock do
      platform            :xmpp            , :transform => Proc.new { |v| v.to_sym }, :desc => <<-__
        Platform punchblock shall use to connect to the Telephony provider. Currently supported values:
        - :xmpp
        - :asterisk
      __
      username            "usera@127.0.0.1", :desc => "Authentication credentials"
      password            "1"              , :desc => "Authentication credentials"
      host                nil              , :desc => "Host punchblock needs to connect (where rayo or asterisk are located)"
      port                nil              , :transform => Proc.new { |v| PunchblockPlugin.validate_number v }, :desc => "Port punchblock needs to connect (by default 5038 for Asterisk, 5222 for Rayo)"
      root_domain         nil              , :desc => "The root domain at which to address the server"
      calls_domain        nil              , :desc => "The domain at which to address calls"
      mixers_domain       nil              , :desc => "The domain at which to address mixers"
      connection_timeout  60               , :transform => Proc.new { |v| PunchblockPlugin.validate_number v }, :desc => "The amount of time to wait for a connection"
      reconnect_attempts  1.0/0.0          , :transform => Proc.new { |v| PunchblockPlugin.validate_number v }, :desc => "The number of times to (re)attempt connection to the server"
      reconnect_timer     5                , :transform => Proc.new { |v| PunchblockPlugin.validate_number v }, :desc => "Delay between connection attempts"
    end

    init :punchblock do
      Initializer.start
    end

    class << self
      delegate :client, :to => Initializer

      def validate_number(value)
        return 1.0/0.0 if ["Infinity", 1.0/0.0].include? value
        value.to_i
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
adhearsion-2.0.0.alpha2 lib/adhearsion/punchblock_plugin.rb