# File lib/adhearsion/voip/asterisk/ami/actions.rb, line 38
            def initialize(name, hash, &block)
              @action = name.downcase
              @action_id = __action_id
              @arguments = {}
              @packets = []
              @sync_complete = false
              @error = nil

              # Normalize the keys
              hash.each_pair { |k,v| @arguments[k.to_s.downcase] = v }

              if block and not async?
                raise RuntimeError, "Cannot specify completion callback for synchronous command"
              end
              @async_completion_callback = block
            end