World Library  
Flag as Inappropriate
Email this Article

Telephone numbers in Malaysia

Article Id: WHEBN0009249049
Reproduction Date:

Title: Telephone numbers in Malaysia  
Author: World Heritage Encyclopedia
Language: English
Subject: Telephone numbers in Asia, Tron MVNO, Langkawi, Bandar Baru Klang, Brickfields
Collection: Malaysia-Related Lists, Telephone Numbers by Country
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Telephone numbers in Malaysia


Telephone numbers in Malaysia are regulated by the Malaysian Communications and Multimedia Commission (MCMC).

Geographic (fixed line) telephone numbers consists of an area code of 1 to 2 digits (excluding the leading zero) followed by a 6 to 8-digit subscriber number. Mobile phone numbers consists of a mobile phone code of 2 digits followed by a 7 to 8-digit subscriber number. Mobile phone codes are originally assigned to specific mobile network operators, however with mobile number portability, a mobile phone number might no longer be associated with its original assigned operator.

Calls to Singapore do not require international dialling; calls are made using the 02 domestic access code. Similarly, calls to Brunei from East Malaysia can be made using the 080 domestic access code but calls from Peninsular Malaysia to Brunei require the international prefix 00673.

Contents

  • Geographic area codes 1
  • Mobile phone codes and IP telephony 2
  • Non-geographical short codes and special numbers 3
  • Number portability 4
  • References 5

Geographic area codes

Geographic (fixed line) area codes are, excluding the STD prefix 0, one digit in Peninsular Malaysia (area codes 3 to 7 and 9) and two digits in East Malaysia (area codes 8x). In Peninsular Malaysia, an area code is usually shared by multiple states and territories and roughly follows state borders. The two East Malaysian states, Sabah and Sarawak, are split into multiple area codes.

Fixed line subscriber numbers are seven digits in Peninsular Malaysia (except Selangor, Kuala Lumpur and Putrajaya, i.e. area code 3) and six digits in East Malaysia. Until 1995, subscriber numbers in Peninsular Malaysia were six digits in areas other than area code 3. Prior to 2001, subscriber numbers were seven digits in Selangor, Kuala Lumpur and Putrajaya. From 1999 to 2001, subscriber numbers in these areas were gradually expanded to eight digits in phases to meet new demands that resulted from the growing population in the Klang Valley.

Thus, a full national number is 10 digits in area code 3 and 9 digits elsewhere, including the STD prefix 0. When writing a telephone number with the area code, the area code and subscriber number is separated with a hyphen. Examples:

  • A number 2xxx xxxx in Kuala Lumpur: 03-2xxx xxxx
  • A number 2xx xxxx in Johor Bahru, Johor: 07-2xx xxxx
  • A number 2x xxxx in Kuching, Sarawak: 082-2x xxxx

When calling from a fixed line phone, calls to fixed lines within the same area code does not require the area code to be dialled. Calls to and from mobile phones requires full national dialling. e.g. When calling a number 2xxx xxxx in Kuala Lumpur (03) from a fixed line phone:

  • Within Selangor, Kuala Lumpur and Putrajaya: 2xxx xxxx
  • Outside Selangor, Kuala Lumpur and Putrajaya, Within Malaysia: 03-2xxx xxxx
  • Outside Malaysia: +60-3-2xxx xxxx (the initial 0 of the area code is omitted)
Prefix Area
02
Domestic access code to Singapore
03
Selangor, Kuala Lumpur, Putrajaya & Genting Highlands, Pahang
04
Perlis, Kedah, Penang & Pengkalan Hulu, Perak
05
Perak and Cameron Highlands, Pahang
06
Negeri Sembilan, Melaka and Muar, Johor
07
Johor and Gemas, Negeri Sembilan
080
Domestic access code from East Malaysia to Brunei
081
Reserved number for future use
082
Kuching, Sarawak
083
Sri Aman, Sarawak
084
Sarawak – Sarikei, Sibu and Kapit
085
Sarawak – Lawas, Limbang and Miri
086
Sarawak – Bintulu and Belaga
087
Labuan and Interior Division, Sabah
088
Sabah – Kota Kinabalu and Kudat
089
Sabah – Lahad Datu, Sandakan and Tawau
09
Kelantan, Pahang and Terengganu

Mobile phone codes and IP telephony

Mobile phone codes and IP telephony codes are in the area code 1, ranging 2 digits excluding the leading zero.

Subscriber number length is seven- or eight-digit, depending on the mobile phone code. Numbers in the 011 and 015 codes are eight digits long, while all other numbers are seven digits long. Therefore, a full national number (including the leading zero) is 11 digits long for 011 and 015 numbers, and 10 digits long for all other numbers.

Calling to and from mobile phones always require full national dialling, even with mobile phones in the same mobile phone code. When calling from outside Malaysia, the leading zero is dropped. For example, a number 016-xxx xxxx is dialled as +60-16-xxx xxxx from outside Malaysia.

Originally, each mobile phone operator was issued one mobile phone code. Through a series of mergers, there were three major mobile phone operators: Celcom, Maxis and DiGi as of 2005. As existing numbers began to run out, the three mobile phone operators were assigned numbers in 014 code distinguished by the first digit of the seven-digit subscriber number.

With the proliferation of new mobile virtual network operators and the exhaustion of existing codes, two new ranges 011 and 015 are made available for assignment. Subscriber numbers are eight digits long, resulting in an 11-digit mobile number including the leading zero. 011-1 was made available to mobile phone operators starting 15 December 2010.[1] The two major ISPs in Malaysia, TMNet and Jaring are assigned numbers in the 015-4 prefix to provide VoIP (also known as Telephony Service over IP, TSoIP) service. New numbers are assigned in smaller blocks of 10,000, 100,000 or 1,000,000 numbers, as opposed to the previous practice of assigning a whole prefix to an operator, which is a block of nearly 8,000,000 numbers.

The advent of mobile number portability means the current operator of a particular mobile phone number is not necessarily the original assigned operator of the number.

Prefix Operator
010
DiGi, XOX, Tune Talk
011-10
P1, redONE
011-11
U Mobile
011-12
Maxis
011-13
XOX, Salamfone
011-14
Maxis, Celcom
011-15
Tune Talk, Celcom
011-16
DiGi, Tron
011-17
Yes 4G, Maxis
011-18
TM, Celcom, Tune Talk
011-19
Celcom
011-20
Tron, XOX
011-22
Clixster Mobile[2]
011-23
Maxis
011-32
Altel
012
Maxis
013
Celcom
014-2
Maxis
014-3
DiGi
014-4
not available
014-5
Celcom
014-6
DiGi
014-7
Maxis
014-8
Celcom
014-9
DiGi
015-1
Onesmart Mobile
015-2
BluePack Network (5Ghz Internet & VOIP)
015-3
B&E Wireless Mobile
015-4
Celcom, TMNet, Jaring, redONE
015-5
Celcom
015-6
Celcom
015-9
DiGi
016
DiGi
017
Maxis
018
U Mobile , Yes 4G
019
Celcom

Non-geographical short codes and special numbers

Prefix Operator
100
General telephone services
101
Operator assistance – domestic calls. Used together with 100.
102
Service assistance, used in conjunction with 100.
103
Fixed telephone line directory assistance
104
Telegram services
1051
Time announcement
1066
Earthquakes and Tsunami Alert Centre
108
Operator assistance for international calls.
112
International emergency number
120
Tune Talk IDD
121
Access the voice mailbox
12xx
Reserved number
1300-XX-XXXX
Local rate telephone number
1310
U Mobile IDD
13100
Celcom budget IDD
13188
TM SMS service
13200
Maxis IDD
13300
DiGi IDD
1315
TMNet dial-up internet service
1377X
General mass calling service, no longer active
141XX
currently unassigned
1500-XX-XXXX
Paging service
1508-XX-XXXX
Dial-up internet access service
1511
Jaring dial-up internet service
1512
Maxis dial-up internet service, no longer available.
1513
TMNet EZNet dial-up internet service, no longer active.
1515
TMNet dial-up internet service
1516
DiGi dial-up internet service, no longer available.
1517
Time Net dial-up internet service, now inactive.
1519
Celcom dial-up internet service, no longer active.
152X
ISDN dial-up internet service, no longer available.
15454
Electricity fault reporting
1600-XR-XXXX
Premium-rate telephone number (planned)
1700-XX-XXXX
Personal numbering service
1800-XX-XXXX
Toll-free telephone number (free from fixed line, local rate from mobile)
18YXX
Long Distance Carrier Selection Code
1900-XX-XXXX
Multimedia service number
600-XX-XXXX
Audiotext hosting service and premium-rate telephone number (planned renumbering to 1-600)
991
Civil Defence Department emergency number, now replaced with 999
994
Fire brigade emergency number, now replaced with 999
999
Malaysian General Emergency Service (MERS), previously allocated to police

Note: R = 1 to 6, X = 0 to 9, Y = 1 to 9

Number portability

Mobile number portability was introduced on 1 October 2008 for mobile phone numbers in a bid to increase market competition. Thus, subscribers are allowed to retain their mobile numbers when they switch to another service provider. Therefore, the mobile number prefix only indicates the original service provider.

Number portability has not been offered for fixed lines, as Telekom Malaysia (TM) holds a monopoly on fixed lines except in Putrajaya and some areas in the Klang Valley.

References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^
  2. ^
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.