idnits 2.17.1 draft-wilde-sms-uri-13.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 16. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 947. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 958. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 965. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 971. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (Sep 21, 2007) is 6062 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC2822' is defined on line 851, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'HTML401' ** Obsolete normative reference: RFC 2279 (Obsoleted by RFC 3629) ** Obsolete normative reference: RFC 2822 (Obsoleted by RFC 5322) ** Obsolete normative reference: RFC 4234 (Obsoleted by RFC 5234) ** Obsolete normative reference: RFC 4395 (Obsoleted by RFC 7595) -- Possible downref: Non-RFC (?) normative reference: ref. 'SMS' -- Possible downref: Non-RFC (?) normative reference: ref. 'SMS-CHAR' -- Obsolete informational reference (is this intentional?): RFC 2368 (Obsoleted by RFC 6068) -- Obsolete informational reference (is this intentional?): RFC 2629 (Obsoleted by RFC 7749) Summary: 6 errors (**), 0 flaws (~~), 3 warnings (==), 12 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group E. Wilde 3 Internet-Draft UC Berkeley 4 Intended status: Standards Track A. Vaha-Sipila 5 Expires: March 24, 2008 Nokia 6 Sep 21, 2007 8 URI Scheme for GSM Short Message Service 9 draft-wilde-sms-uri-13 11 Status of this Memo 13 By submitting this Internet-Draft, each author represents that any 14 applicable patent or other IPR claims of which he or she is aware 15 have been or will be disclosed, and any of which he or she becomes 16 aware will be disclosed, in accordance with Section 6 of BCP 79. 18 Internet-Drafts are working documents of the Internet Engineering 19 Task Force (IETF), its areas, and its working groups. Note that 20 other groups may also distribute working documents as Internet- 21 Drafts. 23 Internet-Drafts are draft documents valid for a maximum of six months 24 and may be updated, replaced, or obsoleted by other documents at any 25 time. It is inappropriate to use Internet-Drafts as reference 26 material or to cite them other than as "work in progress." 28 The list of current Internet-Drafts can be accessed at 29 http://www.ietf.org/ietf/1id-abstracts.txt. 31 The list of Internet-Draft Shadow Directories can be accessed at 32 http://www.ietf.org/shadow.html. 34 This Internet-Draft will expire on March 24, 2008. 36 Copyright Notice 38 Copyright (C) The IETF Trust (2007). 40 Abstract 42 This memo specifies the Universal Resource Identifier (URI) scheme 43 "sms" for specifying a recipient for an SMS message. SMS messages 44 are two-way paging messages that can be sent from and received by a 45 mobile phone or a suitably equipped computer. 47 Table of Contents 49 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 50 1.1. What is GSM? . . . . . . . . . . . . . . . . . . . . . . . 3 51 1.2. What is SMS? . . . . . . . . . . . . . . . . . . . . . . . 3 52 1.3. The "sms" URI Scheme . . . . . . . . . . . . . . . . . . . 7 53 1.4. "sms" URIs and SMS Web Services . . . . . . . . . . . . . 10 54 2. URI Scheme Registration . . . . . . . . . . . . . . . . . . . 11 55 2.1. URI Scheme Name . . . . . . . . . . . . . . . . . . . . . 11 56 2.2. Status . . . . . . . . . . . . . . . . . . . . . . . . . . 11 57 2.3. URI Scheme Syntax . . . . . . . . . . . . . . . . . . . . 12 58 2.4. URI Scheme Semantics . . . . . . . . . . . . . . . . . . . 12 59 2.5. Encoding Considerations . . . . . . . . . . . . . . . . . 12 60 2.6. Applications/Protocols that use this URI Scheme Name . . . 12 61 2.7. Interoperability Considerations . . . . . . . . . . . . . 12 62 2.8. Security Considerations . . . . . . . . . . . . . . . . . 12 63 2.9. Contact . . . . . . . . . . . . . . . . . . . . . . . . . 12 64 3. Security Considerations . . . . . . . . . . . . . . . . . . . 13 65 4. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 14 66 4.1. From -12 to -13 . . . . . . . . . . . . . . . . . . . . . 14 67 4.2. From -11 to -12 . . . . . . . . . . . . . . . . . . . . . 15 68 4.3. From -10 to -11 . . . . . . . . . . . . . . . . . . . . . 15 69 4.4. From -09 to -10 . . . . . . . . . . . . . . . . . . . . . 15 70 4.5. From -08 to -09 . . . . . . . . . . . . . . . . . . . . . 16 71 4.6. From -07 to -08 . . . . . . . . . . . . . . . . . . . . . 16 72 4.7. From -06 to -07 . . . . . . . . . . . . . . . . . . . . . 16 73 4.8. From -05 to -06 . . . . . . . . . . . . . . . . . . . . . 16 74 4.9. From -04 to -05 . . . . . . . . . . . . . . . . . . . . . 16 75 4.10. From -03 to -04 . . . . . . . . . . . . . . . . . . . . . 16 76 4.11. From -02 to -03 . . . . . . . . . . . . . . . . . . . . . 16 77 4.12. From -01 to -02 . . . . . . . . . . . . . . . . . . . . . 16 78 4.13. From -00 to -01 . . . . . . . . . . . . . . . . . . . . . 17 79 4.14. Change Log of draft-wilde-sms-service . . . . . . . . . . 17 80 5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18 81 5.1. Normative References . . . . . . . . . . . . . . . . . . . 18 82 5.2. Non-Normative References . . . . . . . . . . . . . . . . . 19 83 Appendix A. Where to send Comments . . . . . . . . . . . . . . . 20 84 Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 20 85 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 20 86 Intellectual Property and Copyright Statements . . . . . . . . . . 21 88 1. Introduction 90 Compliant software MUST follow this specification. The capitalized 91 key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 92 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 93 document are to be interpreted as described in RFC 2119 [RFC2119]. 95 1.1. What is GSM? 97 GSM (Global System for Mobile Communications) is a digital mobile 98 phone standard which is used extensively in many parts of the world. 99 First named after its frequency band around 900 MHz, GSM-900 has 100 provided the basis for several other networks utilizing GSM 101 technology, in particular GSM networks operating in the frequency 102 bands around 1800 MHz and 1900 MHz. When referring to "GSM" in this 103 document, we mean any of these GSM-based networks that operate a 104 short message service. 106 1.2. What is SMS? 108 The Short Message Service (SMS) [SMS] is an integral part of the GSM 109 network technology. It has been very successful and currently is a 110 major source of revenue for many GSM operators. SMS as a service is 111 so successful that other Global Switched Telephone Network (GSTN) 112 technologies have adapted it as well, in particular the Integrated 113 Services Digital Network (ISDN). Because of this development, this 114 memo uses the term "SMS client" to refer to user agents who are able 115 to send and/or receive SMS messages. 117 1.2.1. SMS content 119 GSM SMS messages are alphanumeric paging messages that can be sent to 120 and from SMS clients. SMS messages have a maximum length of 160 121 characters (7-bit characters from the GSM character set [SMS-CHAR]), 122 or 140 octets. Other character sets (such as UCS-2 16-bit 123 characters, resulting in 70 character messages) MAY also be supported 124 [SMS-CHAR], but are defined as being optional by the SMS 125 specification. Consequently, applications handling SMS messages as 126 part of a chain of character processing applications MUST make sure 127 that character sets are correctly mapped to and from the character 128 set used for SMS messages. 130 While the 160 character variety for SMS messages is by far the most 131 widely used one, there are numerous other content types for SMS 132 messages, such as small bitmaps ("operator logos") and simple formats 133 for musical notes ("ring tones"). However, these formats are 134 proprietary and are not considered in this memo. 136 SMS messages are very limited in length (140 octets), and the first 137 versions of the SMS specification did not specify any standardized 138 methods for concatenating SMS messages. As a consequence, several 139 proprietary methods were invented, but the current SMS specification 140 does specify message concatenation. In order to deal with this 141 situation, SMS clients composing messages SHOULD use the standard 142 concatenation method based on the header in the TP-User Data field as 143 specified in the SMS specification [SMS]. When sending a message to 144 an SMS recipient whose support for concatenated messages is unknown, 145 the SMS client MAY opt to use the backwards-compatible (text-based) 146 concatenation method defined in the SMS specification [SMS]. 147 Proprietary concatenation methods SHOULD NOT be used except in closed 148 systems, where the capabilities of the recipient(s) are always known. 150 1.2.2. SMS infrastructure 152 SMS messages can be transmitted over an SMS client's network 153 interface using the signaling channels of the underlying GSTN 154 infrastructure, so there is no delay for call setup. Alternatively, 155 SMS messages MAY be submitted through other front-ends (for example 156 Web services), which makes it possible for SMS clients to run on 157 computers which are not directly connected to a GSTN network 158 supporting SMS. 160 SMS messages sent with the GSTN SMS service MUST be sent as class 1 161 SMS messages, if the client is able to specify the message class. 163 1.2.2.1. SMS Centers 165 SMS messages are stored by an entity called SMS Center (SMSC), and 166 sent to the recipient when the subscriber connects to the network. 167 The number of a cooperative SMSC must be known to the SMS sender 168 (i.e., the entity submitting the SMS message to a GSTN 169 infrastructure) when sending the message (usually, the SMSC's number 170 is configured in the SMS client and specific for the network operator 171 to which the sender has subscribed). In most situations, the SMSC 172 number is part of the sending SMS client's configuration. However, 173 in some special cases (such as when the SMS recipient only accepts 174 messages from a certain SMSC), it may be necessary to send the SMS 175 message over a specific SMSC. 177 Short messages can be mobile terminated (MT) or mobile originated 178 (MO). MT messages are the ones that arrive at SMS clients; MO 179 messages are sent by SMS clients. Networks may support either, both, 180 or none of these. For the purpose of this memo, it is important that 181 the sending SMS client is allowed to submit MO messages, and that the 182 receiver is allowed to receive MT messages. 184 The exact setup of message submission and delivery is not subject of 185 this memo, it may incorporate additional hops in addition to the pure 186 SMS transport. For example, the sending SMS client may use a Web 187 service to submit the SMS message, and the receiving SMS client may 188 be set up to forward the SMS to an email account. For the purpose of 189 this memo, it is important that the receiver can be addressed by a 190 GSTN number, and that the sender can submit an SMS message using this 191 number. 193 1.2.3. Universal Resource Identifiers 195 One of the core specifications for identifying resources on the 196 Internet is RFC 3986 [RFC3986], specifying the syntax and semantics 197 of a Universal Resource Identifier (URI). The most important notion 198 of URIs are "schemes", which define a framework within which 199 resources can be uniquely identified and addressed. URIs enable 200 users to access resources, and are used for very diverse schemes such 201 as access protocols (HTTP, FTP), broadcast media (TV channels 202 [RFC2838]), messaging (email [RFC2368]), and even telephone numbers 203 (voice [RFC3966]). 205 URIs often are mentioned together with Universal Resource Names 206 (URNs) and/or Uniform Resource Locators (URLs), and it often is 207 unclear how to separate these concepts. For the purpose of this 208 memo, only the term URI will be used, referring to the most 209 fundamental concept. The World Wide Web Consortium (W3C) has issued 210 a note [uri-clarification] discussing the topic of URIs, URNs, and 211 URLs in detail. 213 1.2.4. SMS Messages and the Internet 215 One of the important reasons for the universal access of the Web is 216 the ability to access all information through a unique interface. 217 This kind of integration makes it easy to provide information as well 218 as to consume it. One aspect of this integration is the support of 219 user agents (in the case of the Web, commonly referred to as 220 browsers) for multiple content formats (such as HTML, GIF, JPEG) and 221 access schemes (such as HTTP, HTTPS, FTP). 223 The "mailto" scheme has proven to be very useful and popular, because 224 most user agents support it by providing an email composition 225 facility when the user selects (e.g., clicks on) the URI. Similarly, 226 the "sms" scheme can be supported by user agents by providing an SMS 227 message composition facility when the user selects the URI. In cases 228 where the user agent does not provide a built-in SMS message 229 composition facility, the scheme could still be supported by opening 230 a Web page which provides such a service. The specific Web page to 231 be used could be configured by the user, so that each user could use 232 the SMS message composition service of his choice. 234 The goal of this memo is to specify the "sms" URI scheme, so that 235 user agents (such as Web browsers and email clients) could start to 236 support it. The "sms" URI scheme identifies SMS message endpoints as 237 resources. When "sms" URIs are dereferenced, implementations MAY 238 create a message and present it to be edited before being sent, or 239 they MAY use additional services to provide the functionality 240 necessary for composing a message and sending it to the SMS message 241 endpoint. 243 1.2.4.1. SMS Messages and the Web 245 SMS messages can provide an alternative to "mailto" URIs [RFC2368], 246 or "tel" or "fax" URIs [RFC3966]. When a "sms" URI is activated, the 247 user agent MAY start a program for sending an SMS message, just as 248 "mailto" may open a mail client. Unfortunately, most browsers do not 249 support the external handling of internally unsupported URI schemes 250 in the same generalized way as most of them support external handling 251 of content for MIME types which they do not support internally. 252 Ideally, user agents should implement generic URI parsers and provide 253 a way to associate unsupported schemes with external applications (or 254 Web services). 256 The recipient of an SMS message need not be a mobile phone. It can 257 be a server that can process SMS messages, either by gatewaying them 258 to another messaging system (such as regular electronic mail), or by 259 parsing them for supplementary services. 261 SMS messages can be used to transport almost any kind of data (even 262 though there is a very tight size limit), but the only standardized 263 data formats are character-based messages in different character 264 encodings. SMS messages have a maximum length of 160 characters 265 (when using 7-bit characters from the SMS character set), or 140 266 octets. However, SMS messages can be concatenated to form longer 267 messages. It is up to the user agent to decide whether to limit the 268 length of the message, and how to indicate this limit in its user 269 interface, if necessary. There is one exception to this, see 270 Section 1.3.5. 272 1.2.4.2. SMS Messages and Forms 274 The Hypertext Markup Language (HTML) [HTML401] provides a way to 275 collect information from a user and pass it to a server for 276 processing. This functionality is known as "HTML forms". A 277 filled-in form is usually sent to the destination using the Hypertext 278 Transfer Protocol (HTTP) or email. However, SMS messages can also be 279 used as the transport mechanism for these forms. As SMS transport is 280 "out-of-band" as far as normal HTTP over TCP/IP is concerned, this 281 provides a way to fill in forms offline, and send the data without 282 making a TCP connection to the server, as the set-up time, cost, and 283 overhead for a TCP connection are large compared to an SMS message. 284 Also, depending on the network configuration, the sender's telephone 285 number may be included in the SMS message, thus providing a weak form 286 of authentication. 288 1.3. The "sms" URI Scheme 290 Syntax definitions are given using the Augmented BNF for Syntax 291 Specifications [RFC4234]. 293 1.3.1. Applicability 295 This URI scheme is intended for sending an SMS message to certain 296 recipient(s). The functionality is quite similar to that of the 297 "mailto" URI, which (as per RFC 2368 [RFC2368]) can also be used with 298 a comma-separated list of email addresses. 300 In some situations, it may be necessary to guide the sender to send 301 the SMS message via a certain SMS Center (SMSC). For this purpose, 302 the URI may specify the number of a specific SMSC. 304 The notation for phone numbers is taken from [RFC3966]. Refer to 305 this document for information on why this particular format was 306 chosen. 308 How the SMS message is sent to the SMSC is outside the scope of this 309 specification. SMS messages can be sent over the GSM air interface, 310 by using a modem and a suitable protocol, or by accessing services 311 over other protocols, such as a Web service for sending SMS messages. 312 Also, SMS message service options like deferred delivery and delivery 313 notification requests are not within the scope of this document. 314 Such services MAY be requested from the network by the user agent if 315 necessary. 317 SMS messages sent as a result of this URI MUST be sent as class 1 SMS 318 messages, if the user agent is able to specify the message class. 320 1.3.2. Formal Definition 322 The URI scheme's keywords specified in the following syntax 323 description are case-insensitive. The syntax of an "sms" URI is 324 formally described as follows, where the URI base syntax is taken 325 from RFC 3986 [RFC3986]: 327 sms-uri = scheme ":" hier-part [ "?" sms-body ] 328 scheme = "sms" 329 hier-part = sms-recipient *( "," sms-recipient ) 330 sms-recipient = sms-number [ smsc-qualifier ] 331 sms-number = ( global-number / local-number ) 332 global-number = "+" local-number 333 local-number = *phonedigit DIGIT *phonedigit 334 smsc-qualifier = ";smsc=" sms-number 335 sms-body = "body=" query 337 Some illustrative examples using this syntax are given in 338 Section 1.3.4. 340 The syntax definition for "phonedigit" is taken from RFC 3966 341 [RFC3966]. 343 The syntax definition for "query" is taken from RFC 3986 [RFC3986], 344 please refer to that document. 346 The "sms-body" is used to define the body of the SMS message to be 347 composed. It consists of percent-encoded UTF-8 characters. 348 Implementations MUST make sure that the sms-body characters are 349 converted to a suitable character encoding before sending, the most 350 popular being the 7-bit SMS character encoding, another variant 351 (though not as universally supported as 7-bit SMS) is the UCS-2 352 character encoding (both specified in [SMS-CHAR]). Implementations 353 MAY choose to discard (or convert) characters in the sms-body that 354 are not supported by the SMS character set they are using to send the 355 SMS message. If they do discard or convert characters, they MUST 356 notify the user. 358 It should be noted that the SMSC qualifier may appear only once per 359 sms-recipient. If multiple SMSC qualifiers are present, conforming 360 software MUST interpret the first occurrence and ignore all other 361 occurrences. 363 1.3.3. Processing an "sms" URI 365 The following list describes the steps for processing an "sms" URI: 367 1. The "gstn-phone" of the first "sms-recipient" is extracted. It 368 is the phone number of the final recipient and it MUST be written 369 in international form with country code, unless the number only 370 works from inside a certain geographical area or a network. Note 371 that some numbers may work from several networks but not from the 372 whole world - these SHOULD be written in international form. 373 According to RFC 3966 [RFC3966], all international numbers MUST 374 begin with a "+" character. Hyphens, dots, and parentheses 375 (referred to as "visual separators" in RFC 3966) are used only to 376 improve readability and MUST NOT convey any other meaning. 378 2. The "smsc-qualifier" of the first "sms-recipient" is extracted, 379 if present. 381 3. The "sms-body" is extracted, if present. 383 4. The user agent should provide some means for message composition, 384 either by implementing this itself, or by accessing a service 385 providing it. Message composition SHOULD start with the body 386 extracted from the "sms-body", if present. 388 5. After message composition, a user agent SHOULD try to send the 389 message first using the SMSC set in the "smsc-qualifier" (if 390 present). If that fails, the user agent MAY try another SMSC. 392 6. If the URI consists of a comma-separated list of recipients 393 (i.e., contains multiple "sms-recipient" parts), all of them are 394 processed in this manner. Exactly the same message SHOULD be 395 sent to all of the listed recipients, which means that the 396 message resulting from the message composition step for the first 397 recipient is used unaltered for all other recipients as well. 399 1.3.4. Examples of Use 401 sms:+41796431851 403 This indicates an SMS message capable recipient at the given 404 telephone number. The message is sent using the user agent's default 405 SMSC. 407 sms:+41796431851,+15102061079 409 This indicates SMS message capable recipients at the given telephone 410 numbers. The identical message should be sent to both recipients 411 using the user agent's default SMSC. 413 sms:+41796431851;smsc=+41794999000 415 This indicates that the SMS message should be sent using the SMSC at 416 the given number. 418 sms:+41796431851?body=hello%20there 420 In this case, a message (initially being set to "hello there", which 421 may be modified by the user before sending) will be sent via SMS 422 using the user agent's default SMSC. 424 1.3.5. Using "sms" URIs in HTML Forms 426 When using a "sms" type URI as an action URI for HTML form submission 427 [HTML401], the form contents MUST be packaged in the SMS message just 428 as they are packaged when using a "mailto" URI [RFC2368], using the 429 "application/x-www-form-urlencoded" MIME type, effectively packaging 430 all form data into URI compliant syntax [RFC3986]. The SMS message 431 MUST NOT contain any HTTP headers, only the form data. The MIME type 432 is implicit. It MUST NOT be transferred in the SMS message. 434 The character encoding used for form submissions MUST be UTF-8 435 [RFC2279]. It should be noted, however, that user agents MUST 436 percent-encode form submissions before sending them. 438 The user agent SHOULD inform the user about the possible security 439 hazards involved when submitting the form (it is probably being sent 440 as plain text over an air interface). 442 If the form submission is longer than the maximum SMS message size, 443 the user agent MAY either concatenate SMS messages, if it is able to 444 do so, or it MAY refuse to send the message. The user agent MUST NOT 445 send out partial form submissions. 447 1.4. "sms" URIs and SMS Web Services 449 In many cases, user agents will not be able to directly compose and 450 send SMS messages (because this requires that such a service is 451 accessible to the system the user agent is running on). However, it 452 is likely that the user has access to a Web service that provides an 453 SMS service, such as a Web site offering form-based SMS composition. 454 Ideally, the user agent should access this Web service when 455 activating an "sms" URI, thus enabling the user to use the Web 456 service. 458 One problem with this approach is that the Web service should somehow 459 get the "sms" URI, in order to interpret it and set the required 460 parameters (such as the receiver's phone number). The easiest way to 461 implement this is for the user agent to add the "sms" URI as query 462 string to the Web service's URI. Consequently, user agents 463 supporting SMS Web services identified by URIs SHOULD append the 464 "sms" URI as query string to the Web services URI when accessing the 465 Web service. Web services providing SMS composition facilities 466 SHOULD expect to receive an "sms" URI as query string and should 467 process it as described by this memo. This method only can be 468 applied for Web service URIs which permit query strings (such as 469 "http" and "https" URIs). For other Web service URIs (such as "ftp" 470 and "mailto"), user agents as well as Web services MUST NOT use the 471 query string. 473 It should be noted that RFC 3986 [RFC3986] defines that within query 474 strings, the "gen-delims" characters ":", "/", "?", "#", "[", "]", 475 and "@" are reserved. It is therefore necessary to encode the "sms" 476 URI accordingly before appending it as query string. 478 1.4.1. Example 480 A document contains this fragment of (X)HTML: 482 Send me an SMS! 484 The user agent interpreting this document does not internally support 485 SMS message composition or sending, but has been configured to access 486 a Web service for handling "sms" URIs. This Web service has the 487 following URI: 489 http://sms.example.com/sms-form 491 When the user activates the "sms" URI (e.g., by clicking on the text 492 "Send me an SMS!"), the user agent sends a request to the SMS Web 493 service and acts as if the activated URI had been: 495 http://sms.example.com/sms-form?sms%3A%2B41796431851 497 The SMS Web service is then responsible for parsing the query string 498 and providing an appropriate interface, for example by already 499 filling in the recipient address with the number provided by the 500 "sms" URI. This way, the non-SMS capable user agent and the SMS Web 501 service can interact to provide the best integration of Web browsing 502 and SMS messaging to the user. 504 2. URI Scheme Registration 506 This memo requests the registration of the Universal Resource 507 Identifier (URI) scheme "sms" for specifying a recipient (and 508 optionally a gateway) for an SMS message. The registration request 509 complies with RFC 4395 [RFC4395]. 511 2.1. URI Scheme Name 513 sms 515 2.2. Status 517 Provisional 519 2.3. URI Scheme Syntax 521 See Section 1.3. 523 2.4. URI Scheme Semantics 525 The "sms" defines a way how a message may be composed which is then 526 transmitted using the SMS message transmission method. This scheme 527 can thus be compared to be "mailto" URI scheme [RFC2368]. See 528 Section 1.3.3 for the details of operation. 530 2.5. Encoding Considerations 532 The optional body field of "sms" URIs may contain a message text, but 533 this text uses percent-encoded UTF-8 characters and thus can always 534 be represented using URI characters. See Section 1.3 for the details 535 of encoding. 537 2.6. Applications/Protocols that use this URI Scheme Name 539 The "sms" URI scheme is intended to be used in a similar way as the 540 "mailto" URI scheme [RFC2368]. By using "sms" URIs, authors can 541 embed information into documents which can be used as a starting 542 point for initiating message composition. Whether the client is 543 sending the message itself (for example over a GSM air interface) or 544 redirecting the user to a third party for message composition (such 545 as a Web service for sending SMS messages) is outside of the scope of 546 the URI scheme definition. 548 2.7. Interoperability Considerations 550 No interoperability issues have been identified. 552 2.8. Security Considerations 554 See Section 3. 556 2.9. Contact 558 Erik Wilde 559 School of Information 560 UC Berkeley 561 Berkeley, CA 94720-4600 562 U.S.A. 563 tel:+1-510-6432252 564 mailto:dret@berkeley.edu 566 3. Security Considerations 568 SMS messages are transported without any provisions for privacy or 569 integrity, so SMS users should be aware of these inherent security 570 problems of SMS messages. Unlike electronic mail, where additional 571 mechanisms exist to layer security features on top of the basic 572 infrastructure, there currently is no such framework for SMS 573 messages. 575 SMS messages very often are delivered almost instantaneously (if the 576 receiving SMS client is online), but there is no guarantee for when 577 SMS messages will be delivered. In particular, SMS messages between 578 different network operators sometimes take a long time to be 579 delivered (hours or even days) or are not delivered at all, so 580 applications SHOULD NOT make any assumptions about the reliability 581 and performance of SMS message transmission. 583 In most networks, sending SMS messages is not a free service. 584 Therefore, SMS clients MUST make sure that any action that incurs 585 costs is acknowledged by the end user, unless explicitly instructed 586 otherwise by the end user. If an SMS client has different ways of 587 submitting an SMS message (such as a Web service and a phone line), 588 then the end user MUST have a way to control which way is chosen. 590 SMS clients often are limited devices (typically mobile phones), and 591 the sending SMS client SHOULD NOT make any assumptions about the 592 receiving SMS client supporting any non-standard services, such as 593 proprietary message concatenation or proprietary content types. 594 However, if the sending SMS client has prior knowledge about the 595 receiving SMS client, then he MAY use this knowledge to compose non- 596 standard SMS messages. 598 There are certain special SMS messages defined in the SMS 599 specification [SMS] that can be used, for example, to turn on 600 indicators on the phone display, or to send data to certain 601 communication ports (comparable to UDP ports) on the device. Certain 602 proprietary systems (for example, the Wireless Application Protocol 603 [WAP]) define configuration messages that may be used to reconfigure 604 the devices remotely. Any SMS client SHOULD make sure that malicious 605 use of such messages is not possible, for example by filtering out 606 certain SMS User Data headers. Gateways that accept SMS messages 607 e.g. in e-mail messages or Web forms and pass them on to an SMSC, 608 SHOULD implement this kind of 'firewalling' approach as well. 610 Because the narrow bandwidth of the SMS communications channel, there 611 should also be checks in place for excessively long concatenated 612 messages. As an example, it may take two minutes to transfer thirty 613 concatenated text messages. 615 Unchecked input from a user MUST NOT be used to populate any other 616 fields in a SMS message other than the User Data field (not including 617 the User Data Header field). All other parts, including the User 618 Data Header, of the short message should only be generated by trusted 619 means. 621 By including SMS URIs in unsolicited messages (a.k.a. "spam") or 622 other types of advertising, the originator of the SMS URIs may 623 attempt to reveal an individual's phone number and/or to link the 624 identity (i.e., e-mail address) used for messaging with the identity 625 (i.e., phone number) used for the mobile phone. This attempt to 626 collect information may be a privacy issue, and user agents may make 627 users aware of that risk before composing or sending SMS messages. 628 Users agents which do not provide any feedback about this privacy 629 issue make users more vulnerable to this kind of attack. 631 A user agent SHOULD NOT send out SMS messages without the knowledge 632 of the user, because of associated risks, which include sending 633 masses of SMS messages to a subscriber without his consent, and the 634 costs involved in sending an SMS message. 636 The user agent SHOULD have some mechanism that the user can use to 637 filter out unwanted destinations for SMS messages. The user agent 638 SHOULD also have some means of restricting the number of SMS messages 639 being sent as the result of activating one "sms" URI. 641 As suggested functionality, the user agent MAY offer a possibility 642 for the user to filter out those gstn-phone numbers that are 643 expressed in local format, as most premium-rate numbers are expressed 644 in local format, and because determining the correct local context 645 (and hence the validity of the number to this specific user) may be 646 very difficult. 648 When using SMS URIs as targets of forms (as described in 649 Section 1.3.5), the user agent SHOULD inform the user about the 650 possible security hazards involved when submitting the form (it is 651 probably being sent as plain text over an air interface). 653 4. Change Log 655 This section will not be part of the final RFC text, it serves as a 656 container to collect the history of the individual draft versions. 658 4.1. From -12 to -13 659 o Updated [SMS] to point to the latest version of the SMS spec (3GPP 660 TS 23.040 V7.0.1). 662 o Removed support for telematic interworking from the draft. This 663 feature of SMS messaging is hard to understand, poorly supported 664 by clients as well as network operators, and for these reasons 665 would have been likely to see poor adoption in implementations 666 anyway. 668 o Added some text making it more clear that all recipients SHOULD be 669 sent the exact same message. 671 o Several small editiorial changes. 673 4.2. From -11 to -12 675 o Integrated draft-wilde-sms-service-11 and 676 draft-wilde-sms-uri-registration-00 into this draft. This draft 677 is now self-contained. 679 o Changed the phone number notation to use the definition from RFC 680 3966 [RFC3966] rather than RFC 3601 (RFC 3966 is a simpler 681 notation disallowing some of the special characters allowed by RFC 682 3601). 684 o Rephrased various parts of Section 3. 686 o Removed Section "Author/Change Controller". 688 o RFC 2806 (tel URI scheme) has been obsoleted by [RFC3966]. 690 4.3. From -10 to -11 692 o RFC 2234 (ABNF) has been obsoleted by [RFC4234]. 694 o Updated reference information for [SMS] and [SMS-CHAR]. 696 o Minor textual changes. 698 4.4. From -09 to -10 700 o Added security consideration about filtering local format phone 701 numbers. 703 o Changed IPR clause from RFC 3667 to RFC 3978 (updated version of 704 RFC 3667). 706 4.5. From -08 to -09 708 o Fixed syntax error in hier-part and sms-recipient non-terminals, 709 which allowed sms-recipients to be concatenated without comma 710 separation. 712 4.6. From -07 to -08 714 o URIs are now defined by RFC 3986 [RFC3986], so the text (including 715 the syntax definitions) and the references have been updated. 717 4.7. From -06 to -07 719 o Changed IPR clause from RFC 2026 to RFC 3667 (updated version of 720 RFC 2026). 722 4.8. From -05 to -06 724 o Updated reference from draft-allocchio-gstn to RFC 3601. 726 4.9. From -04 to -05 728 o Updated reference to SMS spec to the version referenced in the SMS 729 service draft. 731 4.10. From -03 to -04 733 o Updated reference to draft-allocchio-gstn (to revision -05). 735 4.11. From -02 to -03 737 o Changed ordering of "change Log" section (descending to 738 ascending). 740 o Clarified the wording at the beginning of Section 1.3.2 about only 741 the keywords of the scheme being case-insensitive. 743 o Changed "sms-body" to be a URI query string. 745 o Added some text describing "sms" URIs as addressing resources. 747 4.12. From -01 to -02 749 o Changed the sms-body field to percent-encoded UTF-8 characters. 751 4.13. From -00 to -01 753 o Added the "sms-body" field and its processing rules. 755 o Added Section 1.4 about using "sms" URIs as query strings for SMS 756 Web services. 758 o Fixed typo in ABNF (said "global-phone" instead of "gstn-phone"). 760 o Added some explanatory text about form submissions using email 761 Telematic Interworking. 763 o Added some text about character encoding in form submissions. 765 4.14. Change Log of draft-wilde-sms-service 767 This section contains the change log of draft-wilde-sms-service-11 768 before it was incorporated into this document at version 769 draft-wilde-sms-uri-12. 771 4.14.1. From -10 to -11 773 o RFC 2234 (ABNF) has been obsoleted by [RFC4234]. 775 o Added new security issue in Section 3. 777 o Updated reference information for [SMS] and [SMS-CHAR]. 779 o Minor textual changes. 781 4.14.2. From -09 to -10 783 o Changed IPR clause from RFC 3667 to RFC 3978 (updated version of 784 RFC 3667). 786 4.14.3. From -08 to -09 788 o No changes, re-release for alignment with draft-wilde-sms-uri. 790 4.14.4. From -07 to -08 792 o No changes, re-release for alignment with draft-wilde-sms-uri. 794 4.14.5. From -06 to -07 796 o Changed IPR clause from RFC 2026 to RFC 3667 (updated version of 797 RFC 2026). 799 4.14.6. From -05 to -06 801 o Updated reference from draft-allocchio-gstn-05 to RFC 3601. 803 4.14.7. From -04 to -05 805 o No changes, re-release for alignment with draft-wilde-sms-uri. 807 4.14.8. From -03 to -04 809 o Updated reference to draft-allocchio-gstn (to revision -05). 811 4.14.9. From -02 to -03 813 o Changed ordering of "change Log" section (descending to 814 ascending). 816 o Fixed some spelling errors. 818 4.14.10. From -01 to -02 820 o Removed address specification for X.400 SMS from ABNF 821 (surprisingly not part of the SMS spec). 823 o Added some explanatory text about character set mapping for SMS 824 messages. 826 o Added text requiring the use of message class 1 for sending SMS 827 messages. 829 4.14.11. From -00 to -01 831 o Added a number of new security considerations. 833 o Added the "PID" qualif-type1 keyword and the section about "SMS 834 Telematic Interworking" (removed in -13, available as Section 835 1.2.3 in -12). 837 5. References 839 5.1. Normative References 841 [HTML401] Raggett, D., Le Hors, A., and I. Jacobs, "HTML 4.01 842 Specification", W3C REC-html401, December 1999, 843 . 845 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 846 Requirement Levels", RFC 2119, March 1997. 848 [RFC2279] Yergeau, F., "UTF-8, a transformation format of ISO 849 10646", RFC 2279, January 1998. 851 [RFC2822] Resnick, P., "Internet Message Format", RFC 2822, 852 April 2001. 854 [RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", 855 RFC 3966, December 2004. 857 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 858 Resource Identifier (URI): Generic Syntax", RFC 3986, 859 January 2005. 861 [RFC4234] Crocker, D. and P. Overell, "Augmented BNF for Syntax 862 Specifications: ABNF", RFC 4234, October 2005. 864 [RFC4395] Hansen, T., Hardie, T., and L. Masinter, "Guidelines and 865 Registration Procedures for New URI Schemes", RFC 4395, 866 February 2006. 868 [SMS] European Telecommunications Standards Institute, "3GPP TS 869 23.040 V7.0.1 (2007-03): 3rd Generation Partnership 870 Project; Technical Specification Group Core Network and 871 Terminals; Technical realization of the Short Message 872 Service (SMS) (Release 7)", March 2007, . 876 [SMS-CHAR] 877 European Telecommunications Standards Institute, "TS 100 878 900 (GSM 03.38 version 7.2.0 Release 1998): Digital 879 Cellular Telecommunications System (Phase 2+); Alphabets 880 and language-specific information", July 1999, . 884 5.2. Non-Normative References 886 [RFC2368] Hoffmann, P., Masinter, L., and J. Zawinski, "The mailto 887 URL scheme", RFC 2368, June 1998. 889 [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, 890 June 1999. 892 [RFC2838] Zigmond, D. and M. Vickers, "Uniform Resource Identifiers 893 for Television Broadcasts", RFC 2838, May 2000. 895 [WAP] WAP Forum, "Wireless Application Protocol - Architecture 896 Specification (WAP-210-WAPArch-20010712)", July 2001. 898 [uri-clarification] 899 World Wide Web Consortium, "URIs, URLs, and URNs: 900 Clarifications and Recommendations 1.0", W3C uri- 901 clarification , September 2001, 902 . 904 Appendix A. Where to send Comments 906 Please send all comments and questions concerning this document to 907 Erik Wilde. 909 Appendix B. Acknowledgements 911 This document has been prepared using the IETF document DTD described 912 in RFC 2629 [RFC2629]. 914 Thanks to Claudio Allocchio, Lisa Dusseault, and Larry Masinter for 915 their comments. 917 Authors' Addresses 919 Erik Wilde 920 UC Berkeley 921 Berkeley, CA 94720-4600 922 U.S.A. 924 Phone: +1-510-6432253 925 Email: dret@berkeley.edu 926 URI: http://dret.net/netdret/ 928 Antti Vaha-Sipila 929 Nokia 931 Email: antti.vaha-sipila@nokia.com 933 Full Copyright Statement 935 Copyright (C) The IETF Trust (2007). 937 This document is subject to the rights, licenses and restrictions 938 contained in BCP 78, and except as set forth therein, the authors 939 retain all their rights. 941 This document and the information contained herein are provided on an 942 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 943 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 944 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 945 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 946 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 947 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 949 Intellectual Property 951 The IETF takes no position regarding the validity or scope of any 952 Intellectual Property Rights or other rights that might be claimed to 953 pertain to the implementation or use of the technology described in 954 this document or the extent to which any license under such rights 955 might or might not be available; nor does it represent that it has 956 made any independent effort to identify any such rights. Information 957 on the procedures with respect to rights in RFC documents can be 958 found in BCP 78 and BCP 79. 960 Copies of IPR disclosures made to the IETF Secretariat and any 961 assurances of licenses to be made available, or the result of an 962 attempt made to obtain a general license or permission for the use of 963 such proprietary rights by implementers or users of this 964 specification can be obtained from the IETF on-line IPR repository at 965 http://www.ietf.org/ipr. 967 The IETF invites any interested party to bring to its attention any 968 copyrights, patents or patent applications, or other proprietary 969 rights that may cover technology that may be required to implement 970 this standard. Please address the information to the IETF at 971 ietf-ipr@ietf.org. 973 Acknowledgment 975 Funding for the RFC Editor function is provided by the IETF 976 Administrative Support Activity (IASA).