UK Telephone National Number Group Codes This list is comprised of the following fields (each will be explained in fuller detail lower down): 1. The national number group (NNG) code 2. A replacement NNG code, where the code in (1) is not correct. 3. The status of the code (e.g. is it valid, was it changed on Phoneday?) 4. The BT charge rate for calls to numbers in that group 5. The approximate OS grid location, where applicable 6. The approximate latitude and longitude, where applicable 7. A text description, often a place name. 8. Digits in Area Code 9. See also NNG code 10. Operator 11. Charging Area 12. Digits in full number 13. Notes In the standard version of this file, fields are separated by colons (:), comments lines (such as this) are preceded by a # . PURPOSE There are two main aims in producing this table: 1) To hold in one place a useful set of information about each NNG code, enabling derived lists for various purposes to be produced easily: 2) To hold information which is current. The table does NOT attempt to hold detailed information about each NNG. E.g. 2476 is listed simply as `Coventry'. (The code for Coventry is just 024, see details below about what is meant by an `NNG'). It does not go further to detail that 247633 is, say, the BT Keresley local exchange. Such information is becoming less meaningful anyway, as operators use ranges in a more widespread manner. COPYRIGHT Much of the data is derived from the Oftel Specified Numbering Scheme - Code List, issued by Oftel's Numbering Administration Unit. That `Code List' is supplied with the following notice: The Code List, as supplied in printed and/or computer readable form is © Crown Copyright but may be reproduced with due acknowledgement of the source of the information. No responsibility is accepted for any errors which may be introduced as a result of any such reproduction. The author of this `UK Telephone National Number Group Codes' document wishes to place no restrictions on the copying of it, and therefore suggests that the Oftel requirement is met by including this entire `COPYRIGHT' section in any copy. ACCURACY Whilst I believe the information is accurate, use it at your own risk. If you discover any errors, please e-mail me: T.Clark@warwick.ac.uk DETAILED DESCRIPTION OF THE FIELDS 1. NNG code This field contains the NNG code using sufficient digits to categorise it so that the subsequent fields can be useful. The term `NNG' is used in a loose sense, the number of digits used are for the purposes of identification only and DO NOT imply that the code given represents any exchange or number group within which numbers can be dialled without the prefix. To look up a dialled number in the list, ensure first that it DOES start with an NNG code. E.g. those using it for analysing numbers dialled on ordinary BT exchange lines would first omit those dialled numbers not prefixed with the national dialling prefix (0) - e.g. some local (within exchange code) dialling and international dialling (prefix 00). Now find the longest match against the code field in the table. E.g. suppose we wish to look up `385 654321' and find matches in the table for `385' and also for `3856', then it is the second - the longer of the two - that should be used. The table is ordered numerically ascending, for ease of human use. However, to simplify coding you may wish to re-order it so that it is longest code first for computer use. That way, it is always possible to make use of the FIRST match found. 2. Replacement code The use of this field is described under the status field below. If present and numeric it means that the code in this field should be used instead of the code in the first field, either immediately, or at some time in the future. If present and alphabetic it means the code in the first field is to be withdrawn. An M indicates that numbers have or will migrate to miscellaneous codes, depending on their use ("Find me anyehere", "special" or "premium"). An X indicates that this codes has gone, or is going out of service. 3. Status A single letter whose meaning is as follows: P - A pre-Phoneday code, which should be prefixed with a `1'. The replacement code is given in field 2. E.g. `634' (Medway) now `1634'. N - A pre-Phoneday code with a totally new replacement (e.g. for Leeds which changed from 532 to 113). The replacement code includes the digit which needs to be prefixed to the old number (so the replacement code for 532 is given as 1132). S - A code which has been incorrectly prefixed with a `1' since it is a code which did not acquire a `1' prefix. The replacement code gives the correct version. E.g. `1800' should be `800'. X - A pre-Phoneday code incorrectly prefixed with a `1' since the old code has a totally new replacement. The replacement code gives the correct version. E.g. `1532' is an incorrect attempt to prefix the old Leeds code (532) with a `1'. Leeds is 113; the replacement field is 1132. Also used for codes which have moved after Phoneday (e.g. the Reading 1734 to 118 move.) V - Potentially valid. Further information is given in subsequent fields. If a replacement field has been specified (field 2), then the NNG is migrating to that replacement, though the current NNG is still valid. Note that the replacement code might not yet be in operation. If the replacement code is a comma separated list of two codes, the shorter code is used as a replacement for 6-digit local numbers and the longer code for 5-digit local numbers. U - Unknown, most likely unused. Entries for single digits occur at the end of the table to mop up all remaining codes into status `U'. 4. BT Charge Rate This field contains a key of one to four characters. Most of these are the different BT charge rates, as found in the BT Price List, Section 1, Part 1, Sub parts 1, 2 and 3 at http://www.serviceview.bt.com/list/current/docs/Call_Charges/0016.htm In addition, the following special codes are used: key BT Charge Rate Further information --- -------------- ------------------- b national as used for geographic national rate calls free no fee free to caller L local as used for local calls s Schools' Internet See below u - Unspecified or unknown g - See immediately below Key `g' is used to indicate that the BT charge rate is determined from the geographic position of the BT `charge groups' concerned. (Do not confuse this with BT charge rates g1,g2, etc - sorry about that, but those charge rates didn't exist when I started using a `g' here.) `Local' rate generally applies to within that charge group or adjacent charge groups while `national' rate is used for the remainder. Key `s' denotes the special scheme for Schools Internet calls. Full details are in the BT Price List. (Section 15, Part 10). Essentailly, for a School's nominated number, all 0800-1800 weekday, term-time calls are included within the fixed rental cost. Local rate outside those times. Only available to schools, so charge to others who manage to get through to such a number is unspecified. The costs BT charge for calls, without taking account of VAT, various temporary special offers, or various discount schemes (e.g. `Option' schemes, `Friends & Family' etc.), are given in the BT Price List, Section 1, Part 1, Sub parts 1, 2 and 3 at http://www.serviceview.bt.com/list/current/docs/Call_Charges/0016.htm For further information, including prices charged by other operators, see http://www.magsys.co.uk/telecom/ 5. Grid Reference If the code is for a geographic area then this field will contain an Ordnance Survey grid reference (it is missing for other codes). The location identified is NOT necessarily that of the charge group centre (the NNG code may cover more than one charge group centre anyway), or indeed the grid reference corresponding to the place name given in field 7. The grid reference given applies to the first four digits of the NNG code only. Where longer NNG codes appear in the list, no attempt has been made to specify grid references for the separate localities served. Frequently the grid reference has been derived by averaging a number of localities the first 4 digits of the NNG code served. The grid reference should therefore only be used as a rough indication of the location. In the absence of more detailed information, the grid reference could be used as a very rough guess for the charge rate which would apply. Although it would be difficult to guess the charge rate for two places about 30 km apart, any two places in England and Wales separated by more than 100km are highly likely to be `national' rate. For more precise information refer to: http://www.davros.org/phones/charging.html To convert a grid reference into Cartesian coordinates an explanation of the system is necessary. For full details refer to OS publications such as `Ordnance Survey Maps - A Descriptive Manual', J.B.Harley, HMSO, 1975. Grid references are given in the form ABeenn where A and B are letters and e and n are digits. This is best decoded by an example. Code 2476 (Coventry, but see not above about what is meant by an `NNG') is given as SP3683, i.e. it has coordinates (36,83) in square SP. The units used are kilometres, so it is 36km East and 83Km North of the bottom left hand corner (origin) of square SP. The first letter, the S, identifies which 500km square the reference occurs in. The squares are laid out as follows, over an area covering 2500km x 2500km: ABCDE 4:ABCDE FGHJK adding coordinates 3:FGHJK LMNOP we get: 2:LMNOP QRSTU 1:QRSTU VWXYZ 0:VWXYZ 01234 (Note I is missing) So major square S has the 500km coordinates (2,1), or in kilometres, (1000,500). The second letter, `P', identifies a square of 100Km side within that major square. These 100km squares have the same layout, so P has the 100Km co-ordinates (4,2) - i.e. (400,200) in kilometres. So square SP has the coordinates (1400,700) = (1000,500) + (400,200). Adding in the coordinates within the SP square (36,83) gives the coordinates of SP3683 as (1436,783) = (1400,700) + (36,83). The following `quick and dirty' C routine returns in the integers pointed to by x and y the coordinates of a 6-character grid reference supplied in the ASCII character string pointed to by g. osxy(g,x,y) char *g; int *x,*y; { int a,b; if ((a = g[0] - 'A')>7) a--; if ((b = g[1] - 'A')>7) b--; *x = 500*(a%5) + 100*(b%5) + 10*(g[2]-'0') + (g[3]-'0'); *y = 500*(4-a/5) + 100*(4-b/5) + 10*(g[4]-'0') + (g[5]-'0'); } OS grid references are sometimes encountered in that purely numeric form, but with (1000,500) subtracted so they are relative to (1000,500) or SV0000, which is known as the `False Origin' of the National Grid. So our example SP3683, coordinates (1436,783), might also be called 436 283. 6. Latitude and Longitude The latitude and longitude is given in that order, separated by a comma, with +ve longitudes being East and -ve West. In each case a / separates degrees from minutes. So 49/46,-7/33 is 49 degrees 46 minutes North and 7 degrees 33 minutes West. The same caveats about the place identified by the coordinates apply as for the grid reference (see above). 7. Text Description For geographic codes this is generally a place name associated with or near the area served. It might be a BT charge group, exchange name, or neither. For other codes it gives a general description of the use to which a code is put. 8. Digits in Area Code If noted in the Oftel code list, this field gives the number of digits in the code (excluding the initial `0'). 9. See also NNG code If noted in the Oftel code list, this field gives a cross references to other codes (usually those serving a similar locality). Where more than one code is given, the codes are separated by commas (,). 10. Operator This gives the name of the Oftel licenced telecommunications operator, or contains the text `Various' or `not yet available'. Where this field is empty, the code is not unique to an individual operator. 11. Charging Area This field may contain the name of a charging area if it is different from the place identified in field 7. 12. Digits in full number If the number of digits in the national number (excluding the initial `0') is known to be different from the 10 digit norm of the Specified Numbering Scheme, then the number of digits may be given in this field. 13. Notes Any notes given against the NNG in Oftel's `Code List', which can not be codified into one of the fields above, are reporoduced here.