1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4** Copyright 2012, The Android Open Source Project
5**
6** Licensed under the Apache License, Version 2.0 (the "License");
7** you may not use this file except in compliance with the License.
8** You may obtain a copy of the License at
9**
10**     http://www.apache.org/licenses/LICENSE-2.0
11**
12** Unless required by applicable law or agreed to in writing, software
13** distributed under the License is distributed on an "AS IS" BASIS,
14** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15** See the License for the specific language governing permissions and
16** limitations under the License.
17*/
18-->
19
20<!-- Regex patterns for SMS short codes by country. -->
21<shortcodes>
22
23    <!-- The country attribute is the ISO country code of the user's account (from SIM card or NV).
24         The pattern attribute is a regex that matches all SMS short codes for the country.
25         The premium attribute is a regex that matches premium rate SMS short codes.
26         The free attribute matches short codes that we know will not cost the user, such as
27         emergency numbers. The standard attribute matches short codes that are billed at the
28         standard SMS rate. The user is warned when the destination phone number matches the
29         "pattern" or "premium" regexes, and does not match the "free" or "standard" regexes. -->
30
31    <!-- Harmonised European Short Codes are 6 digit numbers starting with 116 (free helplines).
32         Premium patterns include short codes from: http://aonebill.com/coverage&tariffs
33         and http://mobilcent.com/info-worldwide.asp and extracted from:
34         http://smscoin.net/software/engine/WordPress/Paid+SMS-registration/ -->
35
36    <!-- Albania: 5 digits, known short codes listed -->
37    <shortcode country="al" pattern="\\d{5}" premium="15191|55[56]00" />
38
39    <!-- Armenia: 3-4 digits, emergency numbers 10[123] -->
40    <shortcode country="am" pattern="\\d{3,4}" premium="11[2456]1|3024" free="10[123]" />
41
42    <!-- Austria: 10 digits, premium prefix 09xx, plus EU -->
43    <shortcode country="at" pattern="11\\d{4}" premium="09.*" free="116\\d{3}" />
44
45    <!-- Australia: 6 or 8 digits starting with "19" -->
46    <shortcode country="au" pattern="19(?:\\d{4}|\\d{6})" premium="19998882" />
47
48    <!-- Azerbaijan: 4-5 digits, known premium codes listed -->
49    <shortcode country="az" pattern="\\d{4,5}" premium="330[12]|87744|901[234]|93(?:94|101)|9426|9525" />
50
51    <!-- Belgium: 4 digits, plus EU: http://www.mobileweb.be/en/mobileweb/sms-numberplan.asp -->
52    <shortcode country="be" premium="\\d{4}" free="8\\d{3}|116\\d{3}" />
53
54    <!-- Bulgaria: 4-5 digits, plus EU -->
55    <shortcode country="bg" pattern="\\d{4,5}" premium="18(?:16|423)|19(?:1[56]|35)" free="116\\d{3}" />
56
57    <!-- Belarus: 4 digits -->
58    <shortcode country="by" pattern="\\d{4}" premium="3336|4161|444[4689]|501[34]|7781" />
59
60    <!-- Canada: 5-6 digits -->
61    <shortcode country="ca" pattern="\\d{5,6}" premium="60999|88188" />
62
63    <!-- Switzerland: 3-5 digits: http://www.swisscom.ch/fxres/kmu/thirdpartybusiness_code_of_conduct_en.pdf -->
64    <shortcode country="ch" pattern="[2-9]\\d{2,4}" premium="543|83111" />
65
66    <!-- China: premium shortcodes start with "1066", free shortcodes start with "1065":
67         http://clients.txtnation.com/entries/197192-china-premium-sms-short-code-requirements -->
68    <shortcode country="cn" premium="1066.*" free="1065.*" />
69
70    <!-- Cyprus: 4-6 digits (not confirmed), known premium codes listed, plus EU -->
71    <shortcode country="cy" pattern="\\d{4,6}" premium="7510" free="116\\d{3}" />
72
73    <!-- Czech Republic: 7-8 digits, starting with 9, plus EU:
74         http://www.o2.cz/osobni/en/services-by-alphabet/91670-premium_sms.html -->
75    <shortcode country="cz" premium="9\\d{6,7}" free="116\\d{3}" />
76
77    <!-- Germany: 4-5 digits plus 1232xxx (premium codes from http://www.vodafone.de/infofaxe/537.pdf and http://premiumdienste.eplus.de/pdf/kodex.pdf), plus EU. To keep the premium regex from being too large, it only includes payment processors that have been used by SMS malware, with the regular pattern matching the other premium short codes. -->
78    <shortcode country="de" pattern="\\d{4,5}|1232\\d{3}" premium="11(?:111|833)|1232(?:013|021|060|075|286|358)|118(?:44|80|86)|20[25]00|220(?:21|22|88|99)|221(?:14|21)|223(?:44|53|77)|224[13]0|225(?:20|59|90)|226(?:06|10|20|26|30|40|56|70)|227(?:07|33|39|66|76|78|79|88|99)|228(?:08|11|66|77)|23300|30030|3[12347]000|330(?:33|55|66)|33(?:233|331|366|533)|34(?:34|567)|37000|40(?:040|123|444|[3568]00)|41(?:010|414)|44(?:000|044|344|44[24]|544)|50005|50100|50123|50555|51000|52(?:255|783)|54(?:100|2542)|55(?:077|[24]00|222|333|55|[12369]55)|56(?:789|886)|60800|6[13]000|66(?:[12348]66|566|766|777|88|999)|68888|70(?:07|123|777)|76766|77(?:007|070|222|444|[567]77)|80(?:008|123|888)|82(?:002|[378]00|323|444|472|474|488|727)|83(?:005|[169]00|333|830)|84(?:141|300|32[34]|343|488|499|777|888)|85888|86(?:188|566|640|644|650|677|868|888)|870[24]9|871(?:23|[49]9)|872(?:1[0-8]|49|99)|87499|875(?:49|55|99)|876(?:0[1367]|1[1245678]|54|99)|877(?:00|99)|878(?:15|25|3[567]|8[12])|87999|880(?:08|44|55|77|99)|88688|888(?:03|10|8|89)|8899|90(?:009|999)|99999" free="116\\d{3}" />
79
80    <!-- Denmark: see http://iprs.webspacecommerce.com/Denmark-Premium-Rate-Numbers -->
81    <shortcode country="dk" pattern="\\d{4,5}" premium="1\\d{3}" free="116\\d{3}" />
82
83    <!-- Estonia: short codes 3-5 digits starting with 1, plus premium 7 digit numbers starting with 90, plus EU.
84         http://www.tja.ee/public/documents/Elektrooniline_side/Oigusaktid/ENG/Estonian_Numbering_Plan_annex_06_09_2010.mht -->
85    <shortcode country="ee" pattern="1\\d{2,4}" premium="90\\d{5}|15330|1701[0-3]" free="116\\d{3}" />
86
87    <!-- Spain: 5-6 digits: 25xxx, 27xxx, 280xx, 35xxx, 37xxx, 795xxx, 797xxx, 995xxx, 997xxx, plus EU.
88         http://www.legallink.es/?q=en/content/which-current-regulatory-status-premium-rate-services-spain -->
89    <shortcode country="es" premium="[23][57]\\d{3}|280\\d{2}|[79]9[57]\\d{3}" free="116\\d{3}" />
90
91    <!-- Finland: 5-6 digits, premium 0600, 0700: http://en.wikipedia.org/wiki/Telephone_numbers_in_Finland -->
92    <shortcode country="fi" pattern="\\d{5,6}" premium="0600.*|0700.*|171(?:59|63)" free="116\\d{3}" />
93
94    <!-- France: 5 digits, free: 3xxxx, premium [4-8]xxxx, plus EU:
95         http://clients.txtnation.com/entries/161972-france-premium-sms-short-code-requirements -->
96    <shortcode country="fr" premium="[4-8]\\d{4}" free="3\\d{4}|116\\d{3}" />
97
98    <!-- United Kingdom (Great Britain): 4-6 digits, common codes [5-8]xxxx, plus EU:
99         http://www.short-codes.com/media/Co-regulatoryCodeofPracticeforcommonshortcodes170206.pdf -->
100    <shortcode country="gb" pattern="\\d{4,6}" premium="[5-8]\\d{4}" free="116\\d{3}" />
101
102    <!-- Georgia: 4 digits, known premium codes listed -->
103    <shortcode country="ge" pattern="\\d{4}" premium="801[234]|888[239]" />
104
105    <!-- Greece: 5 digits (54xxx, 19yxx, x=0-9, y=0-5): http://www.cmtelecom.com/premium-sms/greece -->
106    <shortcode country="gr" pattern="\\d{5}" premium="54\\d{3}|19[0-5]\\d{2}" free="116\\d{3}" />
107
108    <!-- Hungary: 4 or 10 digits starting with 1 or 0, plus EU:
109         http://clients.txtnation.com/entries/209633-hungary-premium-sms-short-code-regulations -->
110    <shortcode country="hu" pattern="[01](?:\\d{3}|\\d{9})" premium="0691227910|1784" free="116\\d{3}" />
111
112    <!-- Ireland: 5 digits, 5xxxx (50xxx=free, 5[12]xxx=standard), plus EU:
113         http://www.comreg.ie/_fileupload/publications/ComReg1117.pdf -->
114    <shortcode country="ie" pattern="\\d{5}" premium="5[3-9]\\d{3}" free="50\\d{3}|116\\d{3}" standard="5[12]\\d{3}" />
115
116    <!-- Israel: 4 digits, known premium codes listed -->
117    <shortcode country="il" pattern="\\d{4}" premium="4422|4545" />
118
119    <!-- Italy: 5 digits (premium=4xxxx), plus EU:
120         http://clients.txtnation.com/attachments/token/di5kfblvubttvlw/?name=Italy_CASP_EN.pdf -->
121    <shortcode country="it" pattern="\\d{5}" premium="4\\d{4}" free="116\\d{3}" />
122
123    <!-- Kyrgyzstan: 4 digits, known premium codes listed -->
124    <shortcode country="kg" pattern="\\d{4}" premium="415[2367]|444[69]" />
125
126    <!-- Kazakhstan: 4 digits, known premium codes listed: http://smscoin.net/info/pricing-kazakhstan/ -->
127    <shortcode country="kz" pattern="\\d{4}" premium="335[02]|4161|444[469]|77[2359]0|8444|919[3-5]|968[2-5]" />
128
129    <!-- Lithuania: 3-5 digits, known premium codes listed, plus EU -->
130    <shortcode country="lt" pattern="\\d{3,5}" premium="13[89]1|1394|16[34]5" free="116\\d{3}" />
131
132    <!-- Luxembourg: 5 digits, 6xxxx, plus EU:
133         http://www.luxgsm.lu/assets/files/filepage/file_1253803400.pdf -->
134    <shortcode country="lu" premium="6\\d{4}" free="116\\d{3}" />
135
136    <!-- Latvia: 4 digits, known premium codes listed, plus EU -->
137    <shortcode country="lv" pattern="\\d{4}" premium="18(?:19|63|7[1-4])" free="116\\d{3}" />
138
139    <!-- Mexico: 4-5 digits (not confirmed), known premium codes listed -->
140    <shortcode country="mx" pattern="\\d{4,5}" premium="53035|7766" />
141
142    <!-- Malaysia: 5 digits: http://www.skmm.gov.my/attachment/Consumer_Regulation/Mobile_Content_Services_FAQs.pdf -->
143    <shortcode country="my" pattern="\\d{5}" premium="32298|33776" />
144
145    <!-- The Netherlands, 4 digits, known premium codes listed, plus EU -->
146    <shortcode country="nl" pattern="\\d{4}" premium="4466|5040" free="116\\d{3}" />
147
148    <!-- Norway: 4-5 digits (not confirmed), known premium codes listed -->
149    <shortcode country="no" pattern="\\d{4,5}" premium="2201|222[67]" />
150
151    <!-- New Zealand: 3-4 digits, known premium codes listed -->
152    <shortcode country="nz" pattern="\\d{3,4}" premium="3903|8995" />
153
154    <!-- Poland: 4-5 digits (not confirmed), known premium codes listed, plus EU -->
155    <shortcode country="pl" pattern="\\d{4,5}" premium="74240|79(?:10|866)|92525" free="116\\d{3}" />
156
157    <!-- Portugal: 5 digits, plus EU:
158         http://clients.txtnation.com/entries/158326-portugal-premium-sms-short-code-regulations -->
159    <shortcode country="pt" premium="6[1289]\\d{3}" free="116\\d{3}" />
160
161    <!-- Romania: 4 digits, plus EU: http://www.simplus.ro/en/resources/glossary-of-terms/ -->
162    <shortcode country="ro" pattern="\\d{4}" premium="12(?:63|66|88)|13(?:14|80)" free="116\\d{3}" />
163
164    <!-- Russia: 4 digits, known premium codes listed: http://smscoin.net/info/pricing-russia/ -->
165    <shortcode country="ru" pattern="\\d{4}" premium="1(?:1[56]1|899)|2(?:09[57]|322|47[46]|880|990)|3[589]33|4161|44(?:4[3-9]|81)|77(?:33|81)" />
166
167    <!-- Sweden: 5 digits (72xxx), plus EU: http://www.viatel.se/en/premium-sms/ -->
168    <shortcode country="se" premium="72\\d{3}" free="116\\d{3}" />
169
170    <!-- Singapore: 5 digits: http://clients.txtnation.com/entries/306442-singapore-premium-sms-short-code-requirements
171         Free government directory info at 74688: http://app.sgdi.gov.sg/sms_help.asp -->
172    <shortcode country="sg" pattern="7\\d{4}" premium="73800" standard="74688" />
173
174    <!-- Slovenia: 4 digits (premium=3xxx, 6xxx, 8xxx), plus EU: http://www.cmtelecom.com/premium-sms/slovenia -->
175    <shortcode country="si" pattern="\\d{4}" premium="[368]\\d{3}" free="116\\d{3}" />
176
177    <!-- Slovakia: 4 digits (premium), plus EU: http://www.cmtelecom.com/premium-sms/slovakia -->
178    <shortcode country="sk" premium="\\d{4}" free="116\\d{3}" />
179
180    <!-- Tajikistan: 4 digits, known premium codes listed -->
181    <shortcode country="tj" pattern="\\d{4}" premium="11[3-7]1|4161|4333|444[689]" />
182
183    <!-- Ukraine: 4 digits, known premium codes listed -->
184    <shortcode country="ua" pattern="\\d{4}" premium="444[3-9]|70[579]4|7540" />
185
186    <!-- USA: 5-6 digits (premium codes from https://www.premiumsmsrefunds.com/ShortCodes.htm) -->
187    <shortcode country="us" pattern="\\d{5,6}" premium="20433|21(?:344|472)|22715|23(?:333|847)|24(?:15|28)0|25209|27(?:449|606|663)|28498|305(?:00|83)|32(?:340|941)|33(?:166|786|849)|34746|35(?:182|564)|37975|38(?:135|146|254)|41(?:366|463)|42335|43(?:355|500)|44(?:578|711|811)|45814|46(?:157|173|327)|46666|47553|48(?:221|277|669)|50(?:844|920)|51(?:062|368)|52944|54(?:723|892)|55928|56483|57370|59(?:182|187|252|342)|60339|61(?:266|982)|62478|64(?:219|898)|65(?:108|500)|69(?:208|388)|70877|71851|72(?:078|087|465)|73(?:288|588|882|909|997)|74(?:034|332|815)|76426|79213|81946|83177|84(?:103|685)|85797|86(?:234|236|666)|89616|90(?:715|842|938)|91(?:362|958)|94719|95297|96(?:040|666|835|969)|97(?:142|294|688)|99(?:689|796|807)" />
188
189</shortcodes>
190