Faits:
Faits:
A. O._, né en 1956, exerçait la profession de maçon. Le 24 juin 1996, il a interrompu son activité professionnelle en raison de l'exacerbation de douleurs dorsales, dont il souffrait depuis plusieurs années. Son médecin traitant, le docteur C._ a attesté une incapacité de travail totale dès cette date (rapport du 19 mars 1998). Un traitement ambulatoire, puis une hospitalisation au Service de rhumatologie du Centre hospitalier X._, du 9 au 27 septembre 1996, n'ont pas apporté d'amélioration notable (rapport du 11 octobre 1996 des docteurs B._ et A._).
Le 5 juin 1997, O._ a déposé une demande de prestations de l'assurance-invalidité. L'Office de l'assurance-invalidité pour le canton de Vaud (ci-après: office AI) a mis en oeuvre un stage dans un Centre d'observation professionnel de l'assurance-invalidité (ci-après : COPAI) dès le 9 novembre 1998. Ce stage a toutefois été interrompu le 17 novembre suivant à la suite d'une nouvelle incapacité de travail attestée par le docteur C._. Le rapport du COPAI ayant mis en évidence une surdité partielle de l'assuré, l'assurance-invalidité a pris en charge la pose d'un appareil auditif en février 1999. Une expertise fut ensuite confiée au Centre d'observation médical de l'assurance-invalidité, à Lausanne, dont le rapport de synthèse, établi le 8 septembre 2000, fait notamment état d'un trouble somatoforme douloureux persistant sous forme de lombo-pseudo-sciatalgies gauches, d'un état anxio-dépressif d'intensité légère à modérée et de troubles statiques et dégénératifs avec spondylolyse isthmique bilatérale L5, sans lysthésis. Selon les auteurs de ce rapport, les docteurs D._, P._ et U._, l'incapacité de travail dans la profession de maçon est de l'ordre de 70 %, alors qu'elle est de 50 % dans une activité légère n'impliquant ni port de charge lourde ni position statique durant plus d'une à deux heures. Ces praticiens se fondent sur leurs propres observations cliniques, sur les résultats d'un examen rhumatologique pratiqué le 15 mars 2000 par le docteur H._ et d'un examen psychiatrique pratiqué le 16 mars suivant par la doctoresse N._, ainsi que sur une discussion de synthèse avec les docteurs L._, rhumatologue et S._, psychiatre.
Dans une prise de position du 15 février 2001, le docteur E._, médecin-conseil de l'office AI, a proposé de retenir une pleine capacité de travail dans un emploi adapté, au motif que le syndrome somatoforme douleureux ne constitue pas en soi une maladie invalidante au sens de l'AI et que le COMAI n'avait pas mis en évidence de comorbidité psychiatrique grave.
Par décision du 15 août 2001, l'office AI a considéré que l'assuré présentait un taux d'invalidité de 17 % et a rejeté la demande de prestations.
Par décision du 15 août 2001, l'office AI a considéré que l'assuré présentait un taux d'invalidité de 17 % et a rejeté la demande de prestations.
B. Cette décision fut déférée au Tribunal des assurances du canton de Vaud, qui a rejeté le recours, par jugement du 28 août 2003.
B. Cette décision fut déférée au Tribunal des assurances du canton de Vaud, qui a rejeté le recours, par jugement du 28 août 2003.
C. O._ interjette un recours de droit administratif contre ce jugement, dont il demande l'annulation. Il conclut, sous suite de frais et dépens, à l'octroi d'une demi-rente d'invalidité, avec effet dès le 24 juin 1996. L'intimé conclut au rejet du recours, alors que l'Office fédéral des assurances sociales a renoncé à se déterminer.
Considérant en droit:
Considérant en droit:
1. Le litige porte sur le droit du recourant à une rente de l'assurance-invalidité. Le pouvoir d'examen du Tribunal fédéral des assurances n'est pas limité à la violation du droit fédéral - y compris l'excès et l'abus du pouvoir d'appréciation - mais s'étend également à l'opportunité de la décision attaquée. Le tribunal n'est pas lié par l'état de fait constaté par la juridiction inférieure et peut s'écarter des conclusions des parties à l'avantage ou au détriment de celles-ci (art. 132 OJ).
1. Le litige porte sur le droit du recourant à une rente de l'assurance-invalidité. Le pouvoir d'examen du Tribunal fédéral des assurances n'est pas limité à la violation du droit fédéral - y compris l'excès et l'abus du pouvoir d'appréciation - mais s'étend également à l'opportunité de la décision attaquée. Le tribunal n'est pas lié par l'état de fait constaté par la juridiction inférieure et peut s'écarter des conclusions des parties à l'avantage ou au détriment de celles-ci (art. 132 OJ).
2. Le jugement entrepris expose les règles légales et la jurisprudence relatives à la notion d'invalidité, à l'échelonnement des rentes selon le taux d'invalidité et à la manière d'évaluer ce taux. Il convient d'y renvoyer sur ces points.
2. Le jugement entrepris expose les règles légales et la jurisprudence relatives à la notion d'invalidité, à l'échelonnement des rentes selon le taux d'invalidité et à la manière d'évaluer ce taux. Il convient d'y renvoyer sur ces points.
3. En se fondant sur le rapport d'expertise du COMAI, la juridiction cantonale a considéré, à juste titre, que l'exercice de l'activité de maçon n'était plus raisonnablement exigible de l'assuré; eu égard aux seules atteintes à sa santé physique, il disposait en revanche d'une pleine capacité de travail dans une activité légère n'imposant pas le port de charges ni la position statique pendant plus d'une ou deux heures. Il n'y a pas lieu de revenir sur ces constatations, non contestées par les parties.
3. En se fondant sur le rapport d'expertise du COMAI, la juridiction cantonale a considéré, à juste titre, que l'exercice de l'activité de maçon n'était plus raisonnablement exigible de l'assuré; eu égard aux seules atteintes à sa santé physique, il disposait en revanche d'une pleine capacité de travail dans une activité légère n'imposant pas le port de charges ni la position statique pendant plus d'une ou deux heures. Il n'y a pas lieu de revenir sur ces constatations, non contestées par les parties.
4. Selon la juridiction cantonale «sur le plan psychique, l'intéressé ne présente pas d'affection importante, les troubles recensés trouvant essentiellement leur explication et leur source dans le champ socioculturel et psychosocial».
Cette affirmation ne convainc pas. Certes, il convient de relativiser la valeur probante du rapport psychiatrique établi par la doctoresse N._ le 16 mars 2000, auxquel se sont largement référés les docteurs D._, P._ et U._. Relativement sommaire, ce rapport atteste une incapacité de travail de 60 %, «étant donné le contexte socio-culturel et psychiatrique» dans lequel vit l'assuré, sans véritablement expliquer en quoi le contexte social décrit entraîne, dans le cas particulier, des troubles psychiques invalidants. La faible valeur probante du rapport médical cité ne permet toutefois pas de nier d'emblée une incapacité de travail en raison de troubles somatoformes douloureux, sans autre analyse (sur les critères entrant en considération pour apprécier le caractère invalidant de troubles somatoformes douloureux : ATF 130 V 352). Cela vaut d'autant plus que les docteurs D._, P._ et U._ ont eux-même attesté une incapacité de travail de 50 %, après avoir discuté avec le docteur S._ du rapport établi par la doctoresse N._. Dans cette mesure, et à défaut d'autre rapport médical probant, l'office AI et la juridiction cantonale ne disposaient pas d'assez d'éléments pour statuer en connaissance de cause et nier le droit à la rente. Le rapport du COMAI, à défaut d'emporter pleinement la conviction, justifie la mise en oeuvre d'une nouvelle expertise relative à la capacité de travail du recourant compte tenu de son état de santé psychique.
Par ces motifs, le Tribunal fédéral des assurances prononce:
Par ces motifs, le Tribunal fédéral des assurances prononce:
1. Le recours est partiellement admis, en ce sens que le jugement du 28 août 2003 du Tribunal des assurances du canton de Vaud ainsi que la décision du 15 août 2001 de l'Office de l'assurance-invalidité pour le canton de Vaud sont annulés, l'affaire étant renvoyée à l'intimé pour instruction complémentaire au sens des considérants et nouvelle décision.
1. Le recours est partiellement admis, en ce sens que le jugement du 28 août 2003 du Tribunal des assurances du canton de Vaud ainsi que la décision du 15 août 2001 de l'Office de l'assurance-invalidité pour le canton de Vaud sont annulés, l'affaire étant renvoyée à l'intimé pour instruction complémentaire au sens des considérants et nouvelle décision.
2. Il n'est pas perçu de frais de justice.
2. Il n'est pas perçu de frais de justice.
3. L'Office de l'assurance-invalidité pour le canton de Vaud versera au recourant la somme de 2'000 fr. (y compris la taxe à la valeur ajoutée) à titre de dépens pour l'instance fédérale.
3. L'Office de l'assurance-invalidité pour le canton de Vaud versera au recourant la somme de 2'000 fr. (y compris la taxe à la valeur ajoutée) à titre de dépens pour l'instance fédérale.
4. Le Tribunal des assurances statuera sur les dépens pour la procédure de première instance, au regard de l'issue du procès de dernière instance.
4. Le Tribunal des assurances statuera sur les dépens pour la procédure de première instance, au regard de l'issue du procès de dernière instance.
5. Le présent arrêt sera communiqué aux parties, au Tribunal des assurances du canton de Vaud et à l'Office fédéral des assurances sociales.
Lucerne, le 9 décembre 2004
Au nom du Tribunal fédéral des assurances
Le Président de la IIe Chambre: Le Greffier: