1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005
|
<pre>Internet Engineering Task Force (IETF) E. Wilde
Request for Comments: 5724 UC Berkeley
Category: Standards Track A. Vaha-Sipila
ISSN: 2070-1721 Nokia
January 2010
<span class="h1">URI Scheme for Global System for Mobile Communications (GSM)</span>
<span class="h1">Short Message Service (SMS)</span>
Abstract
This memo specifies the Uniform Resource Identifier (URI) scheme
"sms" for specifying one or more recipients for an SMS message. SMS
messages are two-way paging messages that can be sent from and
received by a mobile phone or a suitably equipped networked device.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in <a href="./rfc5741#section-2">Section 2 of RFC 5741</a>.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
<a href="http://www.rfc-editor.org/info/rfc5724">http://www.rfc-editor.org/info/rfc5724</a>.
Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
Provisions Relating to IETF Documents
(<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
Table of Contents
<a href="#section-1">1</a>. Introduction ....................................................<a href="#page-3">3</a>
<a href="#section-1.1">1.1</a>. What is GSM? ...............................................<a href="#page-3">3</a>
<a href="#section-1.2">1.2</a>. What is SMS? ...............................................<a href="#page-3">3</a>
<a href="#section-1.2.1">1.2.1</a>. SMS Content .........................................<a href="#page-3">3</a>
<a href="#section-1.2.2">1.2.2</a>. SMS Infrastructure ..................................<a href="#page-4">4</a>
<a href="#section-1.2.2.1">1.2.2.1</a>. SMS Centers ................................<a href="#page-4">4</a>
<a href="#section-1.2.3">1.2.3</a>. Uniform Resource Identifiers ........................<a href="#page-4">4</a>
<a href="#section-1.2.4">1.2.4</a>. SMS Messages and the Internet .......................<a href="#page-5">5</a>
<a href="#section-1.2.4.1">1.2.4.1</a>. SMS Messages and the Web ...................<a href="#page-6">6</a>
<a href="#section-1.2.4.2">1.2.4.2</a>. SMS Messages and Forms .....................<a href="#page-6">6</a>
<a href="#section-1.3">1.3</a>. Requirements Language ......................................<a href="#page-6">6</a>
<a href="#section-2">2</a>. The "sms" URI Scheme ............................................<a href="#page-7">7</a>
<a href="#section-2.1">2.1</a>. Applicability ..............................................<a href="#page-7">7</a>
<a href="#section-2.2">2.2</a>. Formal Definition ..........................................<a href="#page-7">7</a>
<a href="#section-2.3">2.3</a>. Processing an "sms" URI ....................................<a href="#page-9">9</a>
<a href="#section-2.4">2.4</a>. Comparing "sms" URIs .......................................<a href="#page-9">9</a>
<a href="#section-2.5">2.5</a>. Examples of Use ...........................................<a href="#page-10">10</a>
<a href="#section-2.6">2.6</a>. Using "sms" URIs in HTML Forms ............................<a href="#page-10">10</a>
<a href="#section-3">3</a>. URI Scheme Registration ........................................<a href="#page-11">11</a>
<a href="#section-3.1">3.1</a>. URI Scheme Name ...........................................<a href="#page-11">11</a>
<a href="#section-3.2">3.2</a>. Status ....................................................<a href="#page-11">11</a>
<a href="#section-3.3">3.3</a>. URI Scheme Syntax .........................................<a href="#page-11">11</a>
<a href="#section-3.4">3.4</a>. URI Scheme Semantics ......................................<a href="#page-11">11</a>
<a href="#section-3.5">3.5</a>. Encoding Considerations ...................................<a href="#page-12">12</a>
<a href="#section-3.6">3.6</a>. Applications/Protocols That Use This URI Scheme Name ......<a href="#page-12">12</a>
<a href="#section-3.7">3.7</a>. Interoperability Considerations ...........................<a href="#page-12">12</a>
<a href="#section-3.8">3.8</a>. Security Considerations ...................................<a href="#page-12">12</a>
<a href="#section-3.9">3.9</a>. Contact ...................................................<a href="#page-12">12</a>
<a href="#section-4">4</a>. Security Considerations ........................................<a href="#page-12">12</a>
<a href="#section-5">5</a>. IANA Considerations ............................................<a href="#page-14">14</a>
<a href="#section-6">6</a>. Acknowledgements ...............................................<a href="#page-14">14</a>
<a href="#section-7">7</a>. References .....................................................<a href="#page-14">14</a>
<a href="#section-7.1">7.1</a>. Normative References ......................................<a href="#page-14">14</a>
<a href="#section-7.2">7.2</a>. Informative References ....................................<a href="#page-15">15</a>
<a href="#appendix-A">Appendix A</a>. Syntax of telephone-subscriber .......................<a href="#page-17">17</a>
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
<span class="h3"><a class="selflink" id="section-1.1" href="#section-1.1">1.1</a>. What is GSM?</span>
GSM (Global System for Mobile Communications) is a digital mobile
phone standard that is used extensively in many parts of the world.
First named after its frequency band around 900 MHz, GSM-900 has
provided the basis for several other networks utilizing GSM
technology, in particular, GSM networks operating in the frequency
bands around 1800 MHz and 1900 MHz. When referring to "GSM" in this
document, we mean any of these GSM-based networks that operate a
short message service.
<span class="h3"><a class="selflink" id="section-1.2" href="#section-1.2">1.2</a>. What is SMS?</span>
The Short Message Service (SMS) [<a href="#ref-SMS" title=""3GPP TS 23.040 V7.0.1 (2007-03): 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Technical realization of the Short Message Service (SMS) (Release 7)"">SMS</a>] is an integral part of the GSM
network technology. It has been very successful and currently is a
major source of revenue for many GSM operators. SMS as a service is
so successful that other Global Switched Telephone Network (GSTN)
technologies have adopted it as well, in particular, the Integrated
Services Digital Network (ISDN). Because of this development, this
memo uses the term "SMS client" to refer to user agents that are able
to send and/or receive SMS messages.
<span class="h4"><a class="selflink" id="section-1.2.1" href="#section-1.2.1">1.2.1</a>. SMS Content</span>
GSM SMS messages are alphanumeric paging messages that can be sent to
and from SMS clients. SMS messages have a maximum length of 160
characters (7-bit characters from the GSM character set [<a href="#ref-SMS-CHAR">SMS-CHAR</a>]),
or 140 octets. Other character sets (such as UCS-2 16-bit
characters, resulting in 70-character messages) MAY also be supported
[<a href="#ref-SMS-CHAR">SMS-CHAR</a>], but are defined as being optional by the SMS
specification. Consequently, applications handling SMS messages as
part of a chain of character-processing applications MUST make sure
that character sets are correctly mapped to and from the character
set used for SMS messages.
While the 160-character content type for SMS messages is by far the
one most widely used, there are numerous other content types for SMS
messages, such as small bitmaps ("operator logos") and simple formats
for musical notes ("ring tones"). However, these formats are
proprietary and are not considered in this memo.
SMS messages are limited in length (140 octets), and the first
versions of the SMS specification did not specify any standardized
methods for concatenating SMS messages. As a consequence, several
proprietary methods were invented, but the current SMS specification
does specify message concatenation. In order to deal with this
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
situation, SMS clients composing messages SHOULD use the standard
concatenation method based on the header in the TP-User Data field as
specified in the SMS specification [<a href="#ref-SMS" title=""3GPP TS 23.040 V7.0.1 (2007-03): 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Technical realization of the Short Message Service (SMS) (Release 7)"">SMS</a>]. When sending a message to
an SMS recipient whose support for concatenated messages is unknown,
the SMS client MAY opt to use the backwards-compatible (text-based)
concatenation method defined in the SMS specification [<a href="#ref-SMS" title=""3GPP TS 23.040 V7.0.1 (2007-03): 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Technical realization of the Short Message Service (SMS) (Release 7)"">SMS</a>].
Proprietary concatenation methods SHOULD NOT be used except in closed
systems, where the capabilities of the recipient(s) are always known.
<span class="h4"><a class="selflink" id="section-1.2.2" href="#section-1.2.2">1.2.2</a>. SMS Infrastructure</span>
SMS messages can be transmitted over an SMS client's network
interface using the signaling channels of the underlying GSTN
infrastructure, so there is no delay for call setup. Alternatively,
SMS messages may be submitted through other front-ends (for example,
Web-based services), which makes it possible for SMS clients to run
on computers that are not directly connected to a GSTN network
supporting SMS.
SMS messages sent with the GSTN SMS service MUST be sent as class 1
SMS messages, if the client is able to specify the message class.
<span class="h5"><a class="selflink" id="section-1.2.2.1" href="#section-1.2.2.1">1.2.2.1</a>. SMS Centers</span>
For delivery within GSTN networks, SMS messages are stored by an
entity called SMS Center (SMSC) and sent to the recipient when the
subscriber connects to the network. The number of a cooperative SMSC
must be known to the SMS sender (i.e., the entity submitting the SMS
message to a GSTN infrastructure) when sending the message (usually
the SMSC's number is configured in the SMS client and specific for
the network operator to which the sender has subscribed). In most
situations, the SMSC number is part of the sending SMS client's
configuration. However, in some special cases (such as when the SMS
recipient only accepts messages from a certain SMSC), it may be
necessary to send the SMS message over a specific SMSC. The scheme
specified in this memo does not support the specification of SMSC
numbers, so in case of scenarios where messages have to be sent
through a certain SMSC, there must be some other context establishing
this requirement or message delivery may fail.
<span class="h4"><a class="selflink" id="section-1.2.3" href="#section-1.2.3">1.2.3</a>. Uniform Resource Identifiers</span>
One of the core specifications for identifying resources on the
Internet is [<a href="./rfc3986" title=""Uniform Resource Identifier (URI): Generic Syntax"">RFC3986</a>], specifying the syntax and semantics of a
Uniform Resource Identifier (URI). The most important notion of URIs
are "schemes", which define a framework within which resources can be
uniquely identified and addressed. URIs enable users to access
resources and are used for very diverse schemes, such as access
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
protocols (HTTP, FTP), broadcast media (TV channels [<a href="./rfc2838" title=""Uniform Resource Identifiers for Television Broadcasts"">RFC2838</a>]),
messaging (email [<a href="./rfc2368" title=""The mailto URL scheme"">RFC2368</a>]), and even telephone numbers (voice
[<a href="./rfc3966" title=""The tel URI for Telephone Numbers"">RFC3966</a>]).
URIs often are mentioned together with Uniform Resource Names (URNs)
and/or Uniform Resource Locators (URLs), and it often is unclear how
to separate these concepts. For the purpose of this memo, only the
term URI will be used, referring to the most fundamental concept.
The World Wide Web Consortium (W3C) has issued a note
[<a href="#ref-uri-clarification">uri-clarification</a>] discussing the topic of URIs, URNs, and URLs in
detail.
<span class="h4"><a class="selflink" id="section-1.2.4" href="#section-1.2.4">1.2.4</a>. SMS Messages and the Internet</span>
One of the important reasons for the universal access of the Web is
the ability to access all information through a unique interface.
This kind of integration makes it easy to provide information as well
as to consume it. One aspect of this integration is the support of
user agents (in the case of the Web, commonly referred to as
browsers) for multiple content formats (such as HTML, GIF, JPEG) and
access schemes (such as HTTP, HTTPS, FTP).
The "mailto" scheme has proven to be very useful and popular because
most user agents support it by providing an email composition
facility when the user selects (e.g., clicks on) the URI. Similarly,
the "sms" scheme can be supported by user agents by providing an SMS
message composition facility when the user selects the URI. In cases
where the user agent does not provide a built-in SMS message
composition facility, the scheme could still be supported by opening
a Web page that provides such a service. The specific Web page to be
used could be configured by the user, so that each user could use the
SMS message composition service of his choice.
The goal of this memo is to specify the "sms" URI scheme so that user
agents (such as Web browsers and email clients) can start to support
it. The "sms" URI scheme identifies SMS message endpoints as
resources. When "sms" URIs are dereferenced, implementations MAY
create a message and present it to be edited before being sent, or
they MAY invoke additional services to provide the functionality
necessary for composing a message and sending it to the SMS message
endpoint. In either case, simply activating a link with an "sms" URI
SHOULD NOT cause a message to be sent without prior user
confirmation.
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
<span class="h5"><a class="selflink" id="section-1.2.4.1" href="#section-1.2.4.1">1.2.4.1</a>. SMS Messages and the Web</span>
SMS messages can provide an alternative to "mailto" URIs [<a href="./rfc2368" title=""The mailto URL scheme"">RFC2368</a>],
or "tel" or "fax" URIs [<a href="./rfc3966" title=""The tel URI for Telephone Numbers"">RFC3966</a>]. When an "sms" URI is activated,
the user agent MAY start a program for sending an SMS message, just
as "mailto" may open a mail client. Unfortunately, most browsers do
not support the external handling of internally unsupported URI
schemes in the same generalized way as most of them support external
handling of content for media types that they do not support
internally. Ideally, user agents should implement generic URI
parsers and provide a way to associate unsupported schemes with
external applications (or Web-based services).
The recipient of an SMS message need not be a mobile phone. It can
be a server that can process SMS messages, either by gatewaying them
to another messaging system (such as regular electronic mail), or by
parsing them for supplementary services.
SMS messages can be used to transport almost any kind of data (even
though there is a very tight size limit), but the only standardized
data formats are character-based messages in different character
encodings. SMS messages have a maximum length of 160 characters
(when using 7-bit characters from the SMS character set), or 140
octets. However, SMS messages can be concatenated to form longer
messages. It is up to the user agent to decide whether to limit the
length of the message, and how to indicate this limit in its user
interface if necessary. There is one exception to this; see
<a href="#section-2.6">Section 2.6</a>.
<span class="h5"><a class="selflink" id="section-1.2.4.2" href="#section-1.2.4.2">1.2.4.2</a>. SMS Messages and Forms</span>
The Hypertext Markup Language (HTML) [<a href="#ref-HTML401" title=""HTML 4.01 Specification"">HTML401</a>] provides a way to
collect information from a user and pass it to a server for
processing. This functionality is known as "HTML forms". A
filled-in form is usually sent to the destination using the Hypertext
Transfer Protocol (HTTP) or email. However, SMS messages can also be
used as the transport mechanism for these forms. Depending on the
network configuration, the sender's telephone number may be included
in the SMS message, thus providing a weak form of authentication.
<span class="h3"><a class="selflink" id="section-1.3" href="#section-1.3">1.3</a>. Requirements Language</span>
The capitalized key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
[<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>].
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. The "sms" URI Scheme</span>
Syntax definitions are given using the Augmented BNF (ABNF) for
syntax specifications [<a href="./rfc5234" title=""Augmented BNF for Syntax Specifications: ABNF"">RFC5234</a>].
<span class="h3"><a class="selflink" id="section-2.1" href="#section-2.1">2.1</a>. Applicability</span>
This URI scheme provides information that can be used for sending SMS
message(s) to specified recipient(s). The functionality is
comparable to that of the "mailto" URI, which (as per [<a href="./rfc2368" title=""The mailto URL scheme"">RFC2368</a>]) can
also be used with a comma-separated list of email addresses.
The notation for phone numbers is taken from [<a href="./rfc3966" title=""The tel URI for Telephone Numbers"">RFC3966</a>] and its
Erratum 203 [<a href="#ref-Err203" title=""Errata ID 203"">Err203</a>]. <a href="#appendix-A">Appendix A</a> provides a corrected syntax of the
telephone number. Refer to that document for information on why this
particular format was chosen.
How SMS messages are sent to the SMSC or other intermediaries is
outside the scope of this specification. SMS messages can be sent
over the GSM air interface by using a modem and a suitable protocol
or by accessing services over other protocols, such as a Web-based
service for sending SMS messages. Also, SMS message service options
like deferred delivery and delivery notification requests are not
within the scope of this document. Such services MAY be requested
from the network by the user agent if necessary.
SMS messages sent as a result of this URI MUST be sent as class 1 SMS
messages, if the user agent is able to specify the message class.
<span class="h3"><a class="selflink" id="section-2.2" href="#section-2.2">2.2</a>. Formal Definition</span>
The URI scheme's keywords specified in the following syntax
description are case-insensitive. The syntax of an "sms" URI is
formally described as follows, where the URI base syntax is taken
from [<a href="./rfc3986" title=""Uniform Resource Identifier (URI): Generic Syntax"">RFC3986</a>]:
sms-uri = scheme ":" sms-hier-part [ "?" sms-fields ]
scheme = "sms"
sms-hier-part = sms-recipient *( "," sms-recipient )
sms-recipient = telephone-subscriber ; defined in <a href="./rfc3966">RFC 3966</a>
sms-fields = sms-field *( "&" sms-field )
sms-field = sms-field-name "=" escaped-value
sms-field-name = "body" / sms-field-ext ; "body" MUST only appear once
sms-field-ext = 1*( unreserved )
escaped-value = *( unreserved / pct-encoded ) ; defined in <a href="./rfc3986">RFC 3986</a>
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 7]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-8" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
Some illustrative examples using this syntax are given in
<a href="#section-2.5">Section 2.5</a>.
The syntax definition for <telephone-subscriber> is taken from
<a href="./rfc3966#section-5.1">Section 5.1 of [RFC3966]</a>. Please consider Erratum 203 [<a href="#ref-Err203" title=""Errata ID 203"">Err203</a>] in
that specification. For the reader's convenience, <a href="#appendix-A">Appendix A</a>
contains a fixed syntax of the telephone number URI scheme, including
Erratum 203, but <a href="./rfc3966">RFC 3966</a> (plus all applicable errata) is the
normative reference. The description of phone numbers in <a href="./rfc3966">RFC 3966</a>
(<a href="#section-5.1">Section 5.1</a>) states: "The 'telephone-subscriber' part of the URI
indicates the number. The phone number can be represented in either
global (E.164) or local notation. All phone numbers MUST use the
global form unless they cannot be represented as such. Numbers from
private numbering plans, emergency ("911", "112"), and some
directory-assistance numbers (e.g., "411") and other "service codes"
(numbers of the form N11 in the United States) cannot be represented
in global (E.164) form and need to be represented as a local number
with a context. Local numbers MUST be tagged with a 'phone-
context'."
This specification defines a single <sms-field>: "body". Extensions
to this specification MAY define additional fields. Extensions MUST
NOT change the semantics of the specifications they are extending.
Unknown fields encountered in "sms" URIs MUST be ignored by
implementations.
The "body" <sms-field> is used to define the body of the SMS message
to be composed. It MUST not appear more than once in an "sms" URI.
It consists of percent-encoded UTF-8 characters. Implementations
MUST make sure that the "body" <sms-field> characters are converted
to a suitable character encoding before sending, the most popular
being the 7-bit SMS character encoding, another variant (though not
as universally supported as 7-bit SMS) is the UCS-2 character
encoding (both specified in [<a href="#ref-SMS-CHAR">SMS-CHAR</a>]). Implementations MAY choose
to discard (or convert) characters in the <sms-body> that are not
supported by the SMS character set they are using to send the SMS
message. If they do discard or convert characters, they MUST notify
the user.
The syntax definition for <escaped-value> refers to the text of an
SMS where all <reserved> (as per [<a href="./rfc3986" title=""Uniform Resource Identifier (URI): Generic Syntax"">RFC3986</a>]) characters in the SMS
text are percent-encoded, please refer to [<a href="./rfc3986" title=""Uniform Resource Identifier (URI): Generic Syntax"">RFC3986</a>] for the
definitions of <unreserved> and <pct-encoded> and for details about
percent-encoding.
User agents SHOULD support multiple recipients and SHOULD make it
clear to users what the entire list of recipients is before
committing the user to sending all the messages.
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 8]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-9" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
<span class="h3"><a class="selflink" id="section-2.3" href="#section-2.3">2.3</a>. Processing an "sms" URI</span>
The following list describes the steps for processing an "sms" URI:
1. The phone number of the first <sms-recipient> is extracted. It
is the phone number of the final recipient and it MUST be written
in international form with country code, unless the number only
works from inside a certain geographical area or a network. Note
that some numbers may work from several networks but not from the
whole world -- these SHOULD be written in international form.
According to [<a href="./rfc3966" title=""The tel URI for Telephone Numbers"">RFC3966</a>], all international numbers MUST begin with
a "+" character. Hyphens, dots, and parentheses (referred to as
"visual separators" in <a href="./rfc3966">RFC 3966</a>) are used only to improve
readability and MUST NOT convey any other meaning.
2. The "body" <sms-field> is extracted, if present.
3. The user agent SHOULD provide some means for message composition,
either by implementing this itself or by accessing a service that
provides it. Message composition SHOULD start with the body
extracted from the "body" <sms-field>, if present.
4. After message composition, a user agent SHOULD try to send the
message first using the default delivery method employed by that
user agent. If that fails, the user agent MAY try another
delivery method.
5. If the URI contains a comma-separated list of recipients (i.e.,
it contains multiple <sms-recipient> parts), all of them are
processed in this manner. Exactly the same message SHOULD be
sent to all of the listed recipients, which means that the
message resulting from the message composition step for the first
recipient is used unaltered for all other recipients as well.
<span class="h3"><a class="selflink" id="section-2.4" href="#section-2.4">2.4</a>. Comparing "sms" URIs</span>
Two "sms" URIs are equivalent according to the following rules.
Since the definition of the <telephone-subscriber> is taken from
[<a href="./rfc3966" title=""The tel URI for Telephone Numbers"">RFC3966</a>], equivalence of individual values of <telephone-subscriber>
is based on the rules defined in <a href="./rfc3966#section-4">Section 4 of [RFC3966]</a>, repeated
here for convenience:
o Both must be either a <local-number> or a <global-number<, i.e.,
start with a "+".
o The <global-number-digits> and the <local-number-digits> must be
equal, after removing all visual separators.
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 9]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-10" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
o For mandatory additional parameters and the <phone-context> and
<extension> parameters defined in [<a href="./rfc3966" title=""The tel URI for Telephone Numbers"">RFC3966</a>], the <phone-context>
parameter value is compared either as a host name if it is a
<domainname> or digit-by-digit if it is <global-number-digits>.
The latter is compared after removing all <visual-separator>
characters.
o Parameters are compared according to <pname>, regardless of the
order they appeared in the URI. If one URI has a parameter name
not found in the other, the two URIs are not equal.
o URI comparisons are case-insensitive.
Since "sms" URIs can contain multiple <telephone-subscriber>s as well
as <sms-fields>, in addition to adopting the rules defined for
comparing <telephone-subscriber>s as defined by [<a href="./rfc3966" title=""The tel URI for Telephone Numbers"">RFC3966</a>], two "sms"
URIs are only equivalent if their <sms-fields> are identical, and if
all <telephone-subscriber>s, compared pairwise as a set (i.e.,
without taking sequence into consideration), are equivalent.
<span class="h3"><a class="selflink" id="section-2.5" href="#section-2.5">2.5</a>. Examples of Use</span>
sms:+15105550101
This indicates an SMS-message-capable recipient at the given
telephone number. The message is sent using the user agent's default
SMS delivery method.
sms:+15105550101,+15105550102
This indicates SMS-message-capable recipients at the given telephone
numbers. The identical message should be sent to both recipients
using the user agent's default SMS delivery method.
sms:+15105550101?body=hello%20there
In this case, a message (initially being set to "hello there", which
may be modified by the user before sending) will be sent via SMS
using the user agent's default SMS delivery method.
<span class="h3"><a class="selflink" id="section-2.6" href="#section-2.6">2.6</a>. Using "sms" URIs in HTML Forms</span>
When using an "sms" type URI as an action URI for HTML form
submission [<a href="#ref-HTML401" title=""HTML 4.01 Specification"">HTML401</a>], the form contents MUST be packaged in the SMS
message just as they are packaged when using a "mailto" URI
[<a href="./rfc2368" title=""The mailto URL scheme"">RFC2368</a>], using the "application/x-www-form-urlencoded" media type
(as defined by HTML [<a href="#ref-HTML401" title=""HTML 4.01 Specification"">HTML401</a>]), effectively packaging all form data
into URI-compliant syntax [<a href="./rfc3986" title=""Uniform Resource Identifier (URI): Generic Syntax"">RFC3986</a>]. The SMS message MUST NOT
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 10]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-11" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
contain any HTTP header fields, only the form data. The media type
is implicit. It MUST NOT be transferred in the SMS message. Since
the SMS message contains the form field values, the body <sms-field>
of an "sms" type URI used for an HTML form will be ignored.
The character encoding used for form submissions MUST be UTF-8
[<a href="./rfc3629" title=""UTF-8, a transformation format of ISO 10646"">RFC3629</a>]. It should be noted, however, that user agents MUST
percent-encode form submissions before sending them (this encoding is
specified by the URI syntax [<a href="./rfc3986" title=""Uniform Resource Identifier (URI): Generic Syntax"">RFC3986</a>]).
The user agent SHOULD inform the user about the possible security
hazards involved when submitting the form (it is probably being sent
as plain text over an air interface).
If the form submission is longer than the maximum SMS message size,
the user agent MAY either concatenate SMS messages, if it is able to
do so, or it MAY refuse to send the message. The user agent MUST NOT
send out partial form submissions.
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. URI Scheme Registration</span>
This memo requests the registration of the Uniform Resource
Identifier (URI) scheme "sms" for specifying one or more recipients
for an SMS message. The registration request complies with
[<a href="./rfc4395" title=""Guidelines and Registration Procedures for New URI Schemes"">RFC4395</a>].
<span class="h3"><a class="selflink" id="section-3.1" href="#section-3.1">3.1</a>. URI Scheme Name</span>
sms
<span class="h3"><a class="selflink" id="section-3.2" href="#section-3.2">3.2</a>. Status</span>
Permanent
<span class="h3"><a class="selflink" id="section-3.3" href="#section-3.3">3.3</a>. URI Scheme Syntax</span>
See <a href="#section-2">Section 2</a>.
<span class="h3"><a class="selflink" id="section-3.4" href="#section-3.4">3.4</a>. URI Scheme Semantics</span>
The "sms" URI scheme defines a way for a message to be composed and
then transmitted using the SMS message transmission method. This
scheme can thus be compared to be "mailto" URI scheme [<a href="./rfc2368" title=""The mailto URL scheme"">RFC2368</a>]. See
<a href="#section-2.3">Section 2.3</a> for the details of operation.
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 11]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-12" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
<span class="h3"><a class="selflink" id="section-3.5" href="#section-3.5">3.5</a>. Encoding Considerations</span>
The optional body field of "sms" URIs may contain a message text, but
this text uses percent-encoded UTF-8 characters and thus can always
be represented using URI characters. See <a href="#section-2">Section 2</a> for the details
of encoding.
<span class="h3"><a class="selflink" id="section-3.6" href="#section-3.6">3.6</a>. Applications/Protocols That Use This URI Scheme Name</span>
The "sms" URI scheme is intended to be used in a similar way as the
"mailto" URI scheme [<a href="./rfc2368" title=""The mailto URL scheme"">RFC2368</a>]. By using "sms" URIs, authors can
embed information into documents that can be used as a starting point
for initiating message composition. Whether the client is sending
the message itself (for example, over a GSM air interface) or
redirecting the user to a third party for message composition (such
as a Web service for sending SMS messages) is outside of the scope of
the URI scheme definition.
<span class="h3"><a class="selflink" id="section-3.7" href="#section-3.7">3.7</a>. Interoperability Considerations</span>
No interoperability issues have been identified.
<span class="h3"><a class="selflink" id="section-3.8" href="#section-3.8">3.8</a>. Security Considerations</span>
See <a href="#section-4">Section 4</a>.
<span class="h3"><a class="selflink" id="section-3.9" href="#section-3.9">3.9</a>. Contact</span>
Erik Wilde
School of Information
UC Berkeley
Berkeley, CA 94720-4600
U.S.A.
tel:+1-510-6432252
mailto:dret@berkeley.edu
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Security Considerations</span>
SMS messages are transported without any provisions for privacy or
integrity, so SMS users should be aware of these inherent security
problems of SMS messages. Unlike electronic mail, where additional
mechanisms exist to layer security features on top of the basic
infrastructure, there currently is no such framework for SMS
messages.
SMS messages very often are delivered almost instantaneously (if the
receiving SMS client is online), but there is no guarantee for when
SMS messages will be delivered. In particular, SMS messages between
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 12]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-13" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
different network operators sometimes take a long time to be
delivered (hours or even days) or are not delivered at all, so
applications SHOULD NOT make any assumptions about the reliability
and performance of SMS message transmission.
In most networks, sending SMS messages is not a free service.
Therefore, SMS clients MUST make sure that any action that incurs
costs is acknowledged by the end user, unless explicitly instructed
otherwise by the end user. If an SMS client has different ways of
submitting an SMS message (such as a Web service and a phone line),
then the end user MUST have a way to control which way is chosen.
SMS clients often are limited devices (typically mobile phones), and
the sending SMS client SHOULD NOT make any assumptions about the
receiving SMS client supporting any non-standard services, such as
proprietary message concatenation or proprietary content types.
However, if the sending SMS client has prior knowledge about the
receiving SMS client, then he MAY use this knowledge to compose non-
standard SMS messages.
There are certain special SMS messages defined in the SMS
specification [<a href="#ref-SMS" title=""3GPP TS 23.040 V7.0.1 (2007-03): 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Technical realization of the Short Message Service (SMS) (Release 7)"">SMS</a>] that can be used, for example, to turn on
indicators on the phone display or to send data to certain
communication ports (comparable to UDP ports) on the device. Certain
proprietary systems (for example, the Wireless Application Protocol
[<a href="#ref-WAP" title=""Wireless Application Protocol - Architecture Specification (WAP-210-WAPArch-20010712)"">WAP</a>]) define configuration messages that may be used to reconfigure
the devices remotely. Any SMS client SHOULD make sure that malicious
use of such messages is not possible, for example, by filtering out
certain SMS User Data header fields. Gateways that accept SMS
messages (e.g., in email messages or Web forms) and pass them on to
an SMSC SHOULD implement this kind of "firewalling" approach as well.
Because of the narrow bandwidth of the SMS communications channel,
there should also be checks in place for excessively long
concatenated messages. As an example, it may take two minutes to
transfer thirty concatenated text messages.
Unchecked input from a user MUST NOT be used to populate any other
fields in an SMS message other than the User Data field (not
including the User Data header field). All other parts, including
the User Data header, of the short message should only be generated
by trusted means.
By including "sms" URIs in unsolicited messages (a.k.a. "spam") or
other types of advertising, the originator of the "sms" URIs may
attempt to reveal an individual's phone number and/or to link the
identity (i.e., email address) used for messaging with the identity
(i.e., phone number) used for the mobile phone. This attempt to
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 13]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-14" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
collect information may be a privacy issue, and user agents may make
users aware of that risk before composing or sending SMS messages.
Users agents that do not provide any feedback about this privacy
issue make users more vulnerable to this kind of attack.
A user agent SHOULD NOT send out SMS messages without the knowledge
of the user because of associated risks, which include sending masses
of SMS messages to a subscriber without his consent, and the costs
involved in sending an SMS message.
As suggested functionality, the user agent MAY offer a possibility
for the user to filter out those phone numbers that are expressed in
local format, as most premium-rate numbers are expressed in local
format, and because determining the correct local context (and hence
the validity of the number to this specific user) may be very
difficult.
When using "sms" URIs as targets of forms (as described in
<a href="#section-2.6">Section 2.6</a>), the user agent SHOULD inform the user about the
possible security hazards involved when submitting the form (it is
probably being sent as plain text over an air interface).
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. IANA Considerations</span>
IANA has registered the "sms" URI scheme, using the template in
<a href="#section-3">Section 3</a>, in accordance with [<a href="./rfc4395" title=""Guidelines and Registration Procedures for New URI Schemes"">RFC4395</a>].
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. Acknowledgements</span>
This document has been prepared using the IETF document DTD described
in [<a href="./rfc2629" title=""Writing I-Ds and RFCs using XML"">RFC2629</a>].
Thanks to (listed alphabetically) Claudio Allocchio, Derek Atkins,
Nevil Brownlee, John Cowan, Leslie Daigle, Lisa Dusseault, Miguel
Garcia, Vijay Gurbani, Alfred Hoenes, Cullen Jennings, Graham Klyne,
Larry Masinter, Alexey Melnikov, Michael Patton, Robert Sparks, and
Magnus Westerlund for their comments.
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. References</span>
<span class="h3"><a class="selflink" id="section-7.1" href="#section-7.1">7.1</a>. Normative References</span>
[<a id="ref-Err203">Err203</a>] RFC Errata, "Errata ID 203", <a href="./rfc3629">RFC 3629</a>,
<<a href="http://www.rfc-editor.org">http://www.rfc-editor.org</a>>.
[<a id="ref-HTML401">HTML401</a>] Raggett, D., Le Hors, A., and I. Jacobs, "HTML 4.01
Specification", W3C REC-html401, December 1999,
<<a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a>>.
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 14]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-15" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
[<a id="ref-RFC2119">RFC2119</a>] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.
[<a id="ref-RFC3629">RFC3629</a>] Yergeau, F., "UTF-8, a transformation format of ISO
10646", STD 63, <a href="./rfc3629">RFC 3629</a>, November 2003.
[<a id="ref-RFC3966">RFC3966</a>] Schulzrinne, H., "The tel URI for Telephone Numbers",
<a href="./rfc3966">RFC 3966</a>, December 2004.
[<a id="ref-RFC3986">RFC3986</a>] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66,
<a href="./rfc3986">RFC 3986</a>, January 2005.
[<a id="ref-RFC4395">RFC4395</a>] Hansen, T., Hardie, T., and L. Masinter, "Guidelines and
Registration Procedures for New URI Schemes", <a href="https://www.rfc-editor.org/bcp/bcp35">BCP 35</a>,
<a href="./rfc4395">RFC 4395</a>, February 2006.
[<a id="ref-RFC5234">RFC5234</a>] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, <a href="./rfc5234">RFC 5234</a>, January 2008.
[<a id="ref-SMS">SMS</a>] European Telecommunications Standards Institute, "3GPP TS
23.040 V7.0.1 (2007-03): 3rd Generation Partnership
Project; Technical Specification Group Core Network and
Terminals; Technical realization of the Short Message
Service (SMS) (Release 7)", March 2007, <<a href="http://www.3gpp.org/ftp/Specs/archive/23_series/23.040/23040-701.zip">http://</a>
<a href="http://www.3gpp.org/ftp/Specs/archive/23_series/23.040/23040-701.zip">www.3gpp.org/ftp/Specs/archive/23_series/23.040/</a>
<a href="http://www.3gpp.org/ftp/Specs/archive/23_series/23.040/23040-701.zip">23040-701.zip</a>>.
[<a id="ref-SMS-CHAR">SMS-CHAR</a>]
European Telecommunications Standards Institute, "TS 100
900 (GSM 03.38 version 7.2.0 Release 1998): Digital
Cellular Telecommunications System (Phase 2+); Alphabets
and language-specific information", July 1999, <<a href="http://www.3gpp.org/ftp/Specs/archive/03_series/03.38/0338-720.zip">http://</a>
<a href="http://www.3gpp.org/ftp/Specs/archive/03_series/03.38/0338-720.zip">www.3gpp.org/ftp/Specs/archive/03_series/03.38/</a>
<a href="http://www.3gpp.org/ftp/Specs/archive/03_series/03.38/0338-720.zip">0338-720.zip</a>>.
<span class="h3"><a class="selflink" id="section-7.2" href="#section-7.2">7.2</a>. Informative References</span>
[<a id="ref-RFC2368">RFC2368</a>] Hoffmann, P., Masinter, L., and J. Zawinski, "The mailto
URL scheme", <a href="./rfc2368">RFC 2368</a>, June 1998.
[<a id="ref-RFC2629">RFC2629</a>] Rose, M., "Writing I-Ds and RFCs using XML", <a href="./rfc2629">RFC 2629</a>,
June 1999.
[<a id="ref-RFC2838">RFC2838</a>] Zigmond, D. and M. Vickers, "Uniform Resource Identifiers
for Television Broadcasts", <a href="./rfc2838">RFC 2838</a>, May 2000.
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 15]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-16" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
[<a id="ref-WAP">WAP</a>] WAP Forum, "Wireless Application Protocol - Architecture
Specification (WAP-210-WAPArch-20010712)", July 2001.
[<a id="ref-uri-clarification">uri-clarification</a>]
World Wide Web Consortium, "URIs, URLs, and URNs:
Clarifications and Recommendations 1.0", W3C uri-
clarification , September 2001,
<<a href="http://www.w3.org/TR/uri-clarification/">http://www.w3.org/TR/uri-clarification/</a>>.
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 16]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-17" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
<span class="h2"><a class="selflink" id="appendix-A" href="#appendix-A">Appendix A</a>. Syntax of 'telephone-subscriber'</span>
The following syntax is reproduced from <a href="./rfc3966#section-3">Section 3 of [RFC3966]</a>. It
defines the <telephone-subscriber> part used in the "sms" URI scheme
syntax. Please note that it includes Erratum 203 [<a href="#ref-Err203" title=""Errata ID 203"">Err203</a>] for <a href="./rfc3966">RFC</a>
<a href="./rfc3966">3966</a>, which changes the definition of <isdn-subaddress>.
telephone-subscriber = global-number / local-number
global-number = global-number-digits *par
local-number = local-number-digits *par context *par
par = parameter / extension / isdn-subaddress
isdn-subaddress = ";isub=" 1*paramchar
extension = ";ext=" 1*phonedigit
context = ";phone-context=" descriptor
descriptor = domainname / global-number-digits
global-number-digits = "+" *phonedigit DIGIT *phonedigit
local-number-digits =
*phonedigit-hex (HEXDIG / "*" / "#")*phonedigit-hex
domainname = *( domainlabel "." ) toplabel [ "." ]
domainlabel = alphanum
/ alphanum *( alphanum / "-" ) alphanum
toplabel = ALPHA / ALPHA *( alphanum / "-" ) alphanum
parameter = ";" pname ["=" pvalue ]
pname = 1*( alphanum / "-" )
pvalue = 1*paramchar
paramchar = param-unreserved / unreserved / pct-encoded
unreserved = alphanum / mark
mark = "-" / "_" / "." / "!" / "~" / "*" /
"'" / "(" / ")"
pct-encoded = "%" HEXDIG HEXDIG
param-unreserved = "[" / "]" / "/" / ":" / "&" / "+" / "$"
phonedigit = DIGIT / [ visual-separator ]
phonedigit-hex = HEXDIG / "*" / "#" / [ visual-separator ]
visual-separator = "-" / "." / "(" / ")"
alphanum = ALPHA / DIGIT
<span class="grey">Wilde & Vaha-Sipila Standards Track [Page 17]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-18" ></span>
<span class="grey"><a href="./rfc5724">RFC 5724</a> sms" URI Scheme January 2010</span>
Authors' Addresses
Erik Wilde
UC Berkeley
School of Information
Berkeley, CA 94720-4600
U.S.A.
Phone: +1-510-6432253
EMail: dret@berkeley.edu
URI: <a href="http://dret.net/netdret/">http://dret.net/netdret/</a>
Antti Vaha-Sipila
Nokia
EMail: antti.vaha-sipila@nokia.com
URI: <a href="http://www.iki.fi/avs/">http://www.iki.fi/avs/</a>
Wilde & Vaha-Sipila Standards Track [Page 18]
</pre>
|