Vorab kannst Du nur dann sicher sein, dass Dein Gespräch nicht berechnet wird, wenn Du die SIP-URI des Empfängers direkt wählst (vorausgesetzt, die entsprechende SIP-URI ist auch von extern erreichbar und nicht wie bei GMX / 1&1 dort aktiv geblockt) oder Du über einen VoIP-Provider anwählst, der das Prepaid-Verfahren nutzt und Du kein Guthaben dort eingezahlt hast oder Du nutzt einen VoIP-Provider mit automatischer Preisansage vor dem Gespräch. Viele VoIP-Provider haben auch spezielle (interne) Rufnummern, die aus dem PSTN gar nicht erreichbar sind und somit auch nicht über ein Festnetz-Gateway erreichbar sind. Alternativ kann man auf einen VoIP-Provider auch ganz verzichten (dann kann auch kein VoIP-Provider irgendetwas abrechnen) und die Verbindung direkt zwischen den beiden VoIP-Routern (ggf. mit Hilfe eines dynDNS-Services) herstellen. Wie Du siehst, gibt es keine Antwort, die für alle VoIP-Provider zutrifft.
Einen anderen Weg gibt es m.W. nicht, vorab kostenpflichtige Gespräche zu verhindern, da z.B. GMX automatisch versucht über das Festnetz-Gateway das Gespräch zu routen, sobald die Zielrufnummer nicht (oder derzeit nicht) im Netz des Providers als VoIP-Rufnummer gemeldet ist (z.B. weil der Empfänger nicht GMX / 1&1-Kunde ist oder sein VoIP-Router gerade nicht online ist).
Nachträglich erfährst Du am sichersten, ob Dir das Gespräch berechnet worden ist oder nicht, indem Du Deinen Kontostand abfragst.