# File lib/adhearsion/voip/asterisk/commands.rb, line 572
              def login!(*args)
                options = args.last.kind_of?(Hash) ? args.pop : {}
                
                silent = options.delete(:silent).equal?(false) ? '' : 's'
                id     = args.shift
                id   &&= id.to_s.starts_with?('Agent/') ? id[%r[^Agent/(.+)$],1] : id
                raise ArgumentError, "Unrecognized Hash options to login(): #{options.inspect}" if options.any?
                raise ArgumentError, "Unrecognized argument to login(): #{args.inspect}" if args.any?
                
                proxy.environment.execute('AgentLogin', id, silent)
              end