Faits: A. En septembre 1999, par sa succursale de Lausanne, Y._ Voyages SA a fourni des billets d'avion Genève - Zurich - Téhéran et retour pour deux personnes, soit N._ et son fils X._; la facture fut adressée à ce dernier et demeura impayée. Le 30 décembre 2004, Y._ Voyages SA a ouvert action contre X._ devant le Juge de paix du district de Lausanne. Le défendeur devait être condamné au paiement de 2'807 fr. avec intérêts au taux de 9% par an dès le 10 novembre 1999 et de 370 fr. avec intérêts au taux de 5% par an dès le 10 septembre 2004; la demande tendait aussi à la mainlevée définitive, à concurrence de ces sommes, de l'opposition formée par le défendeur dans la poursuite n° 2'072'311 de l'office des poursuites de Lausanne-ouest. Le défendeur a conclu au rejet de l'action; il contestait avoir commandé les titres de transport fournis par la demanderesse. A l'audience du 4 mai 2007, les parties étaient assistées de leurs agents d'affaires. Le Juge de paix a entendu un collaborateur de la demanderesse en qualité de témoin. Le procès-verbal mentionne cette audition mais il n'indique pas la teneur de la déposition. Ce document indique que le juge a « [invité] les parties, et plus particulièrement le défendeur, à s'abstenir de parler à son mandataire durant les débats »; il ne contient aucune allusion à une demande de récusation que le défendeur aurait présentée oralement. Ce dernier a quitté l'audience à la clôture de l'instruction; les conseils ont ensuite plaidé. Le procès-verbal indique encore que personne n'en a demandé la lecture. Le Juge de paix a statué le 15 du même mois; il a accueilli l'action à concurrence de 2'807 fr. avec intérêts au taux de 5% par an dès le 16 novembre 1999, et donné mainlevée définitive de l'opposition, sur ces sommes, dans la poursuite n° 2'072'311. Le juge s'est notamment référé au témoignage recueilli à l'audience, selon lequel le défendeur s'était présenté dans les locaux de la demanderesse pour passer commande des prestations à l'origine du litige. B. Saisie par le défendeur, la Chambre des recours du Tribunal cantonal s'est prononcée le 10 octobre 2007; elle a confirmé le jugement. C. Agissant par la voie du recours constitutionnel, le défendeur requiert le Tribunal fédéral d'annuler l'arrêt de la Chambre des recours et de renvoyer la cause à la juridiction cantonale pour nouvelle instruction et nouveau jugement. La demanderesse conclut au rejet du recours. 