Proposed Automated Edit: Korrektur von Telefonnummern in Deutschland (basierend auf phonenumbervalidator)

Im Oktober 2025 wurde im internationalen Forum das Tool „OSM Phone Number Validator“ von @confusedbuffalo vorgestellt: Announcing a new phone number validator

Kurz darauf wurde Deutschland als unterstütztes Land ergänzt: Telefonnummer Nebenstelle kennzeichnen? (PhoneNumberValidator)

Das Tool identifiziert ungültige bzw. nicht standardkonforme Telefonnummern in OSM und stellt sie zur Korrektur bereit.

Seit November wurde der Löwenanteil bereits händisch über das Tool korrigiert und bei der täglichen Aktualisierung werden, aus meiner persönlichen Sicht, nur mehr völlig valide Fehler als Korrektur vorgeschlagen.

Aktueller Stand in anderen Ländern

Für die Schweiz und Österreich (aber auch andere Länder) wurden inzwischen automatisierte Edits diskutiert und umgesetzt:

Der Bot (confusedbuffalo-bot) ist dort seit mehreren Wochen aktiv. Nach meinem Kenntnisstand sind bislang keine negativen Changeset-Kommentare eingegangen:
https://www.openstreetmap.org/user/confusedbuffalo-bot/history

Die folgende Beschreibung für die geplanten automatisierten Änderungen habe ich aus den Threads der anderen Länder gekürzt und in Deutsch übersetzt:


Ziel des automatisierten Edits

Ziel ist die Verbesserung der Datenqualität von Telefonnummern in Deutschland durch:

  • Vereinheitlichung auf internationales Format (E.164, z. B. +49…)
  • Entfernung ungültiger Zeichen (z. B. Leerzeichen, Sonderzeichen an falschen Stellen)
  • Korrektur offensichtlich fehlerhafter Formate

Das zugrundeliegende Tool nutzt etablierte Bibliotheken zur Validierung und stellt die problematischen Einträge transparent dar. (GitHub)


Umfang

Der automatisierte Edit würde sich ausschließlich auf eindeutig korrigierbare Fälle („safe edits“) beschränken, insbesondere:

  • Entfernen überflüssiger Zeichen (z. B. doppelte Pluszeichen, falsche Trennzeichen)
  • Ergänzung der Landesvorwahl (+49), sofern eindeutig ableitbar
  • Normierung bestehender Nummern ohne inhaltliche Änderung

Nicht Teil des automatisierten Edits sind:

  • Interpretation unklarer oder mehrdeutiger Telefonnummern
  • Ergänzung fehlender Nummern
  • Änderungen, die lokale Kenntnisse erfordern

Methodik

  • Datengrundlage: Overpass-Abfragen aller Objekte mit Telefonnummern-Tags
  • Validierung: libphonenumber (länderspezifisch)
  • Ausgabe: öffentlich einsehbare Reports mit direkter Bearbeitungsmöglichkeit
  • Automatisierte Edits nur für klar definierte, risikoarme Transformationen (GitHub)

Alle Änderungen erfolgen transparent über einen dedizierten Bot-Account mit nachvollziehbaren Changesets.


Qualitätssicherung

  • Vorabdefinition eines klaren Regelwerks für „safe edits“
  • Separate Kennzeichnung der Changesets
  • Möglichkeit zur manuellen Überprüfung über die bereitgestellten Reports
  • Orientierung an den bereits erfolgreich eingesetzten Verfahren in CH und AT

Zusätzlich bleibt es weiterhin möglich, problematische Fälle manuell zu prüfen oder bewusst unverändert zu lassen.


Diskussion

Bevor ein solcher automatisierter Edit in Deutschland gestartet wird, würde ich gerne Feedback aus der Community einholen, insbesondere zu folgenden Punkten:

  • Wird ein solcher automatischer und maschineller Edit grundsätzlich befürwortet?
  • Sind die vorgeschlagenen Einschränkungen („safe edits only“) ausreichend?
  • Gibt es Bedenken hinsichtlich bestimmter Nummerntypen (z. B. Durchwahlen, Service-Nummern)?
  • Gibt es zusätzliche Anforderungen an Dokumentation oder Monitoring?

Die bisherigen Erfahrungen aus der Schweiz und Österreich deuten darauf hin, dass dieser Ansatz eine risikoarme und effektive Möglichkeit ist, die Datenqualität zu verbessern. Gleichzeitig ist es mir wichtig, vor einer Umsetzung ein möglichst breites Meinungsbild aus der deutschen Community einzuholen.

Disclaimer: Dieser Post entstand aus eigener Motivation und nicht im Namen von @confusedbuffalo :slight_smile:

Nach einer Woche hätte ich mit mehr Antworten gerechnet :face_with_peeking_eye:
Braucht es einfach mehr Zeit oder ist das Thema so konfliktfrei, dass es keine Diskussion braucht?

Ich denke, die kritischen Punkte wurden bereits in der von Dir verlinkten Diskussion angesprochen und anschließend berücksichtigt.

@confusedbuffalo I think you can activate the bot in Germany as well. Would you be so kind to handle that? Thank you so much!

The bot has been enabled for Germany and the first edits have been made:

Changeset: 181177945 | OpenStreetMap , Changeset: 181177942 | OpenStreetMap etc .

This means that everything you see on the website is numbers that aren’t fixed by the bot. Mostly this is truly invalid numbers, but also anything with dashes, due to previous discussions about extensions.

Bei mir wurden drei Telefonnummern korrigiert, da ich die Vorwahl versehentlich im falschen Format angegeben gehabt habe.

Unsere Vorwahl ist aber auch: 04954 mit DE Prefix: +49 4954 :smiley:

@confusedbuffalo:

Deine Aktivität ist sehr hilfreich, heute musste ich aber dieses CS des Bots kommentieren, da entgegen der Reparaturabsicht in erheblichem Umfang +49 800xxx in 0800xxx geändert wurde (Achavi).

Da ist was falsch programmiert…

Achherrje…

https://www.openstreetmap.org/changeset/183345407
Da scheintc der Bot auch wild geworden zu sein… Auch diese 0800er Geschichte…:frowning:

Darum mag ich Bots überhaupt nicht…

Sven

Nachtrag: Changeset: 183345480 | OpenStreetMap auch

Hallo,
habe mir gerade Oberbayern angesehen.
Da wird bei vielen als Korrekturnummer die schon vorhandene Nummer angezeigt

Sincere apologies for the disruption. I had been looking back at how free to call numbers were being processed, realising that in most cases they are not reachable from outside of the country and that in some countries including the country code (+49) while dialling from within the country could make the call not work.

Based on these comments: [1] and [2]

I felt that the decision had been that free to call numbers should not have a country code. The logic before had been that they were considered valid either if they had a country code or if they didn’t. I adjusted this to align with the previous discussion, which led to those changes being made.

That’s a separate issue, I will have a look, thank you.

Thanks for the quick reply!

The information about the 0800 numbers is correct as far as that goes; see: FREECALL 0800 > Wie erreiche ich eine freecall 0800 Rufnummer aus dem Ausland?

If you want to enter them without the +49, you should first make sure that this isn’t flagged as an error in OSMOSE.

However, I can reach the 0180 numbers that you also changed from abroad. See: 0180CALL > Wie erreiche ich eine 0180call Rufnummer aus dem Ausland?

Please bear this in mind.

Best regards,

Andreas

I don’t use Osmose, so I am not sure that is relevant.

Noted, I will update to deal with that.

Hello again!

Please have a look here, and you’ll see what the problem is (zoom in to see much more).

However, it’s not just your entries that are being flagged as errors in this particular
category, but also various others that deal with similar issues.

Your edits are ‘flooding’ the map, which means all the other reports get overlooked – that’s not helpful if you take quality assurance seriously.

So please :folded_hands: revert your edits first and then stop editing until you’ve found a solution!

I hope you have some understanding for my request!

Good luck with your efforts going forward!

Andreas

As I say, Osmose isn’t a tool that I use. But if it’s showing a false positive then it should be fixed there. I believe you can switch off a layer until a fix is implemented.

I will leave the 0800 numbers without a country code, as that seems correct.

I will make the shared cost, 0180 numbers, have a country code.

Andreas:

@Herwescheluc

Danke für deine Feinarbeit…

Mir stellt sich da nun eine grundsätzliche Frage!

Wenn eine Rufnummer, wie unsere 0800er Nummern nur und ausschließlich aus unserem deutschen Netz und nur ohne +49 erreichbar ist…

Grundsätzliche Frage:

sind denn unsere etablierten Tags wie phone=*| contact:phone=* genau dafür überhaupt richtig? Das bezweifle ich dann stark! Unsere 0800er Nummern gehören dann in einen eigenen Namensraum.

Bei einer, in phone=* erfassten Telefonnummer erwarte ich denn dann auch, daß diese genau so erreichbar ist… Wenn das bei den 0800er Nummern nicht so ist, ist das ein Fehler im Datenmodell von OSM!

Müsste es nicht sowas wie phone:de=* , oder was weiß ich, sein, was dann aber von Bot ausgeschlossen werden muß und markiert, daß diese Nummer nicht international erreichbar ist?

…oder hab ich einen Knoten im Hirn?

Sven

Hallo, Sven,

da bin ich ganz bei Dir! Dafür sollten wir aber ein eigenes Thema aufmachen.

Klare Vorgabe ist überall die Einfügung der Ländervorwahl - ob das in diesem Fall Sinn ergibt ist sicher zweifelhaft - aber es ist halt so. Da wird auch kaum jemand so lange basteln, bis es für alle Extrafälle (auch in anderen Ländern) passt. Daher wäre ein Tag á la national_hotline=* vielleicht denkbar.

Aus der geschenkten Zitrone :lemon: habe ich jetzt Limonade :tropical_drink: gemacht und alle betreffenden Tags im LDK überarbeitet: 3/4 davon habe ich entweder mit der vorhandenen Standortnummer (und nicht der allgemeinen Servicerufnummer) ausgestattet oder gleich gelöscht, weil z.B. Lidl gar keine Rufnummern für Filialen verteilt. Diverse POIs habe ich gleich ganz gelöscht, weil gar keine Angaben mehr dazu zu finden waren. Etwas Aufräumen hat ja noch nie geschadet!

Da @confusedbuffalo leider das Problem nicht verstehen kann/will, habe ich alle anderen jetzt in OSMOSE als “falsch positiv” gemarkt - später neu auftauchende Nummern kann ich also immer noch bearbeiten.

Aber so, wie es jetzt gemacht wird, ist das net richtig…

Grüße aus Herborn

Andreas

Some people have used phone:DE, but a more generic national_phone or something would probably be better than having a different tag for every country.

Thank you for your work with cleaning up the invalid numbers. The 0180 numbers have now been reverted to have a country code.

With Osmose I had meant that if it was flagging something as an error when it shouldn’t that this should be reported to the tool, rather than on a per item basis. But if hiding them works for your process then that’s fine as well. I can’t take responsibility for ensuring that every possible data validator is fully correct, so I wasn’t going to make a fix for something that I’m not responsible for and don’t use. Sorry for not making that clearer.

You’re welcome!

The problem is precisely that it’s only considered an error because you’ve omitted the +XX. I won’t report this to OSMOSE as an error, as in my opinion it isn’t really one – it’s just a number with the wrong tag. It’s not actually supposed to work that way, and it almost certainly wouldn’t be changed anyway. Who’s to decide when +XX can be omitted and when it can’t? Would you like to create a list of the relevant numbers? A thorough online search shows just how varied national service numbers are in many countries, all of which are used without the +XX. An entry that was accidentally made without +XX would no longer be filterable without a list. Hence the idea of ‘inventing’ a special tagging system for telephone numbers that can only be used nationally.

So we really ought to do something about this. I will be contacting the international community in the next few days, referring to this thread…

Kind regards,

Andreas

Darf ich mal fragen, wie hier der Stand der Dinge ist?

Wenn ich das hier richtig verstanden habe, sollte jetzt eine +49 Vorwahl auch für eine 0800 er Nummer wieder korrekt sein oder galt dies nur für eine 0180 Nummer?
Vor 28 Tagen hatte ich die Servicenummer der AOK auf die Landesvorwahl +49 korrigiert nur einen Tag später wird es durch das Tool wieder auf die Vorwahl 0 zurückgesetzt.
Node: ‪AOK Plus‬ (‪3104722990‬) | OpenStreetMap
Wie lange soll dieses Hickhack jetzt hier gehen…