Telefonnummer: förlorade i översättning

Vi bygger ett nytt linje-of-business-system för en av våra kunder och behöver migrera tiotusentals kontaktuppgifter, tillsammans med adress- och telefonnummerinformation.

Telefonnummer: förlorade i översättning

Kunden har begärt att systemet ska ha validering för telefonnumren och översätter dem till det internationella E.164-formatet.

E.164-formatet visar vad du behöver ringa för att nå den telefonen från vilken annan telefon som helst på planeten. Alla olika telekomregulatorer anger hur telefonnummer måste fungera inom sina respektive jurisdiktioner, men E.164 är den övergripande standarden. Om du skriver ditt nummer i det formatet kommer alla att kunna ringa dig, oavsett var de ringer ifrån.

För att förstå E.164 måste du förstå anatomin hos ett telefonnummer. Det grundläggande abonnentnumret är den sista delen, och det kan vara allt från tre till 11 siffror långt (ibland längre). Innan det kommer riktnumret, som eventuellt innehåller ett trunkprefix – det vill säga en siffra eller två som talar om för telefonsystemet att du ringer ett nummer på en annan växel.

Vad kommer först

I Storbritannien använder vi trunkprefixet 0, men vi ljuger för oss själva genom att låtsas att detta är en del av riktnumret. Det är det inte, som du kommer att se när du formaterar ett brittiskt telefonnummer i E.164-formatet – du tappar den initiala nollan.

Detta missbruk är ett brott mot internationell telefoni

Innan riktnumret står landskoden – 44 för Storbritannien, 61 för Australien, 353 för Irland och så vidare. Praktiskt taget alla länder i världen har bara en landskod, men ett fåtal platser har två eller tre, vanligtvis för att de håller på att byta från en landskod till en annan, eller för att deras telefontjänst tillhandahålls av två eller flera angränsande länder.

Slutligen, i början finns utgångskoden, vilket är numret du behöver ringa för att tala om för växeln att du ringer ett internationellt nummer.

Utgångskoden skiljer sig beroende på var i världen du ringer från – den är 00 i större delen av Europa, men 011 i till exempel USA – och E.164 anger att du byter ut utpasseringskoden med ett plustecken för att klara dig med sådana variationer.

Mobiltelefoner låter dig faktiskt ange ett ”+” som en del av numret och skickar det till den mobiltjänst som du är ansluten till för att tvinga den att slå rätt utgångskod.

Så om ditt brittiska nummer var 01234 123456, är det korrekta sättet att skriva detta i E.164-format +44 1234 123456: plustecknet ersätter utgångskoden; 44 är landskoden för Storbritannien; 1234 är riktnummer (minus stamprefixet, 0); och 123456 är abonnentnumret.

Observera att det inte finns några parenteser i ett E.164-nummer, och du sätter inte en nolla inom parentes mellan landskoden och riktnumret. Om du skrev det som +44 (0) 1234 123456 skulle alla samtal till det numret misslyckas. Gör det inte; låt inte någon du känner göra det; stoppa skåpbilsförare på gatan och tala om för dem att numret på deras skåpbil är fel.

Detta missbruk är ett brott mot internationell telefoni, mycket värre än när du ser Londons telefonnummer skrivna som 0207 123 4567 eller (0207) 123 4567. Riktnumret för London är 020: om du är i staden måste du ringa åtta siffror för att nå ett annat London-nummer, till exempel 7123 4567.

Cardiffs riktnummer är 029, och alla dess abonnentnummer är 20XX XXXX. De ska aldrig skrivas som (02920) XXXXXX, utan snarare (029) 20XX XXXX eller E.164-format +44 29 20XX XXXX. Om du är i Cardiff måste du slå åtta siffror för att komma till ett annat Cardiff-nummer, varför 20 är en del av abonnentnumret, inte riktnumret.

Godkännande

För att komma tillbaka till vårt ursprungliga problem – hur man validerar telefonnumren – måste vi veta varifrån i världen ett visst telefonnummer kommer. Lyckligtvis innehåller all information vi får för varje kontakt ett land, så vi kan utöka tabellen Länder så att den inte bara inkluderar ISO-landskoden (US, GB, FR, DE och så vidare) utan även dess riktnummer ( 1, 44, 33, 49 och så vidare).

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *