Deliberation dialogues occur when two or more participants seek to jointly agree an action or a course of action in some situation. We present the first formal framework for such dialogues, grounding it in a theory of deliberative reasoning from the philosophy of argumentation. We further fully articulate the locutions and rules of a formal dialogue game for this model, so as to specify a protocol for deliberation dialogues. The resulting protocol is suitable for dialogues between computational entities, such as autonomous software agents. To assess our protocol we consider it against various records of human deliberations, against normative principles for the conduct of human dialogues, and with respect to the outcomes produced by dialogues undertaken according to the protocol.