Ich würd´s von einer anderen Seite her aufziehen, zumindest hat mir das bei Bossi sehr geholfen.
Führ ein Freigabe-Kommando ein. OK, oder LAUF, was auch immer - irgendwas, was man im Alltag net dauernd verwendet (bei uns ist es ok - aber das war dumm gewählt. Stell Dir vor, ein Auto kommt, der Hund geht auf die Seite und setzt sich brav hin, und Du sagst ganz erleichtert "OK" - doof, gell.....).
Dann nimm ihn in nächster Zeit nur noch an der Leine mit raus. Kommt ein anderer Hund, wird er hinziehen. In dem Moment bleibst Du stehen. Bis er auf Dich aufmerksam wird und Dich anguckt. Den Moment des Anguckens bestätigen (oder clickern, wenn Du das machst). So lernt er, daß er, wenn er wo hin möchte, Dich erstmal angucken soll. Oder: stehenbleiben, bis der Hund sich von alleine setzt (die ersten 2-3 Male aevtl. auf Kommando). Er muß Dich angucken, und in dem Moment, wo er Dich anguckt, gibst Du ihm dann das Freigabe-Kommando. So erfährt er, daß er, wenn er etwas haben möchte von Dir, Dich angucken muß. Nur und ausschließlich über Dich kommt er zum gewünschten Erfolg (Hund begrüßen), der dann auch die beste Bestätigung dafür ist, daß er "nachgefragt" (also Dich angeguckt und auf Freigabe gewartet) hat.
Solche Spielchen kannst auch tagsüber in tausend Situationen üben. Absitzen vorm Füttern, bis Du Freigabe gibst. Ins Körbchen schicken, bis Du Freigabe gibst. Solange Du keine Freigabe gibst, wird er, wenn er sich dort wegbewegt, wieder zurückgebracht mit "Nein-Körbchen", bzw. (besser) am Aufstehen gehindert. Man kann das ja sehen, wenn er Anstalten macht, aufzustehen. Besuch darf erst begrüßt werden, wenn Du die Freigabe gibst - bevor der Hnd net anständig absitzt (oder ins KÖrbchen geht o.ä. nach dem klingeln), wird die Haustüre nciht geöffnet, und er darf niemanden begrüßen. Sitzt er im Körbchen, kommt der Besuch schneller rein, als wenn er zur Türe rennt, und dann darf er wieder aufstehen und begrüßen (so ist das Begrüßen-Dürfen die Bestätigung). Lauter so Sachen halt.
Eine Freigabe kann auch im Alltag sehr nützlich sein (z.B. gucken lassen, bevor der Hund über die Straße rennt), und Du brauchst keinen neuen Rückruf, weil der Hund nämlich ohne Deine Freigabe nicht mehr hingeht. Mußt natürlich lange genug üben. Und wenn er frei laufen soll, dann geh wo hin, wo Du sicher bist, daß keine anderen Hundehalter kommen, bzw. Du diese VOR Deinem Hund siehst, und ihn kurzfristig anleinen kannst. Jedenfalls darf der Hund keinen Erfolg mehr damit haben, ohne Deine Freigabe einfach loszustürmen, sonst wird er das Verhalten nie ablegen.
Den Rückruf würde ich separat üben, wenn´s da noch hapert, und zwar mit dem bestehenden Kommando - nur halt ein bißchen konsequenter als bisher. Sprich, wie beim Welpen erstmal nur rufen, wenn der Hund eh zu Dir unterwegs ist und gar nicht abgelenkt werden kann. Als nächstes mehr Ablenkung, dafür aus geringerer Entfernung herrufen. Sollt er mal nicht gleich herkommen, umgehend hingehen, am Halsband dort hin mitnehmen, von wo aus Du gerufen hattest. Sodaß er lernt, wenn er nicht selbst kommt, holst Du ihn halt (ist ja doof - dann kann er auch gleich selbst kommen beim ersten Rufen). Das Problem ist ja nicht, daß er das Kommando nicht verstanden hätte, er kommt halt nur nicht immer gleich, weil er gelernt hat, daß Du nicht sonderlich konsequent warst, bzw. er immer die Chance hatte, ungestraft das Kommando zu ignorieren. Und daran wird ein neues Kommando nichts ändern. Nur, wenn Du ab jetzt eben konsequent bist, wird er sich das merken - egal, ob mit dem alten Kommando oder einem neuen! und dafür muß man nicht mit Straße arbeiten, wenn er hinrennt, sondern damit, das Hinrennen zu unterbinden ;-) Also eingreifen, BEVOR der hund den Ffehler macht, ihm die Chance auf den Fehler gar nicht geben, stattdessen zeigen, was als Alternativverhalten von Dir gewünscht wird.
Wenn er bislang nicht kommt, dann hast Du ihn beim Aufbau des Rückrufes damals bestimmt öfter mal in Situationen gerufen, wo er zu abgelenkt war oder zu weit weg war, um Dich wahrzunehmen, also sprich in Situationen, die für den damaligen Lern-Stand einfach noch zu schwierig waren. Wenn sowas passiert, weißt Du: die Anforderung war erstmal zu hoch, geh nochmal ein paar Schritte zurück und rufe nur aus geringerem Abstand/mit weniger Ablenkung etc., festige das, und geh erst dann wieder ein Stückchen weiter vorwärts im Training, und steigere die Anforderungen dabei echt nur in kleinen Schritten. Also nicht: Abruf in Wohnung ohne Ablenkung klappt heute, also versuch ich es morgen beim Spielen auf der Hundewiese, wo sich 20 andere Hunde tummeln und am Rand 7 Rehe stehen, und daneben das Kirchweihzelt steht mit Musik und Action *gg