idnits 2.17.1 draft-wilde-sms-uri-12.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 1072. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 1083. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 1090. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 1096. 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 (Jul 23, 2007) is 6116 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 978, 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: January 24, 2008 Nokia 6 Jul 23, 2007 8 URI Scheme for GSM Short Message Service 9 draft-wilde-sms-uri-12 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 January 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 (and optionally a gateway) for an 44 SMS message. SMS messages are two-way paging messages that can be 45 sent from and received by a mobile phone or a suitably equipped 46 computer. 48 Table of Contents 50 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 51 1.1. What is GSM? . . . . . . . . . . . . . . . . . . . . . . . 3 52 1.2. What is SMS? . . . . . . . . . . . . . . . . . . . . . . . 3 53 1.3. Universal Resource Identifiers . . . . . . . . . . . . . . 7 54 1.4. SMS Messages and the Internet . . . . . . . . . . . . . . 7 55 2. The "sms" URI Scheme . . . . . . . . . . . . . . . . . . . . . 9 56 2.1. Applicability . . . . . . . . . . . . . . . . . . . . . . 9 57 2.2. Formal Definition . . . . . . . . . . . . . . . . . . . . 9 58 2.3. Processing an "sms" URI . . . . . . . . . . . . . . . . . 11 59 2.4. Examples of Use . . . . . . . . . . . . . . . . . . . . . 11 60 2.5. Using "sms" URIs in HTML Forms . . . . . . . . . . . . . . 12 61 3. "sms" URIs and SMS Web Services . . . . . . . . . . . . . . . 13 62 3.1. Example . . . . . . . . . . . . . . . . . . . . . . . . . 13 63 4. URI Scheme Registration . . . . . . . . . . . . . . . . . . . 14 64 4.1. URI Scheme Name . . . . . . . . . . . . . . . . . . . . . 14 65 4.2. Status . . . . . . . . . . . . . . . . . . . . . . . . . . 14 66 4.3. URI Scheme Syntax . . . . . . . . . . . . . . . . . . . . 14 67 4.4. URI Scheme Semantics . . . . . . . . . . . . . . . . . . . 14 68 4.5. Encoding Considerations . . . . . . . . . . . . . . . . . 14 69 4.6. Applications/Protocols that use this URI Scheme Name . . . 15 70 4.7. Interoperability Considerations . . . . . . . . . . . . . 15 71 4.8. Security Considerations . . . . . . . . . . . . . . . . . 15 72 4.9. Contact . . . . . . . . . . . . . . . . . . . . . . . . . 15 73 5. Security Considerations . . . . . . . . . . . . . . . . . . . 15 74 6. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 18 75 6.1. From -11 to -12 . . . . . . . . . . . . . . . . . . . . . 18 76 6.2. From -10 to -11 . . . . . . . . . . . . . . . . . . . . . 18 77 6.3. From -09 to -10 . . . . . . . . . . . . . . . . . . . . . 18 78 6.4. From -08 to -09 . . . . . . . . . . . . . . . . . . . . . 18 79 6.5. From -07 to -08 . . . . . . . . . . . . . . . . . . . . . 19 80 6.6. From -06 to -07 . . . . . . . . . . . . . . . . . . . . . 19 81 6.7. From -05 to -06 . . . . . . . . . . . . . . . . . . . . . 19 82 6.8. From -04 to -05 . . . . . . . . . . . . . . . . . . . . . 19 83 6.9. From -03 to -04 . . . . . . . . . . . . . . . . . . . . . 19 84 6.10. From -02 to -03 . . . . . . . . . . . . . . . . . . . . . 19 85 6.11. From -01 to -02 . . . . . . . . . . . . . . . . . . . . . 19 86 6.12. From -00 to -01 . . . . . . . . . . . . . . . . . . . . . 19 87 6.13. Change Log of draft-wilde-sms-service . . . . . . . . . . 20 88 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21 89 7.1. Normative References . . . . . . . . . . . . . . . . . . . 21 90 7.2. Non-Normative References . . . . . . . . . . . . . . . . . 22 91 Appendix A. Where to send Comments . . . . . . . . . . . . . . . 23 92 Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 23 93 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 23 94 Intellectual Property and Copyright Statements . . . . . . . . . . 24 96 1. Introduction 98 Compliant software MUST follow this specification. The capitalized 99 key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 100 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 101 document are to be interpreted as described in RFC 2119 [RFC2119]. 103 1.1. What is GSM? 105 GSM (Global System for Mobile Communications) is a digital mobile 106 phone standard which is used extensively in many parts of the world. 107 First named after its frequency band around 900 MHz, GSM-900 has 108 provided the basis for several other networks utilizing GSM 109 technology, in particular GSM networks operating in the frequency 110 bands around 1800 MHz and 1900 MHz. When referring to "GSM" in this 111 document, we mean any of these GSM-based networks that operate a 112 short message service. 114 1.2. What is SMS? 116 The Short Message Service (SMS) [SMS] is an integral part of the GSM 117 network technology. It has been very successful and currently is a 118 major source of revenue for many GSM operators. SMS as a service is 119 so successful that other Global Switched Telephone Network (GSTN) 120 technologies have adapted it as well, in particular the Integrated 121 Services Digital Network (ISDN). Because of this development, this 122 memo uses the term "SMS client" to refer to user agents who are able 123 to send and/or receive SMS messages. 125 1.2.1. SMS content 127 GSM SMS messages are alphanumeric paging messages that can be sent to 128 and from SMS clients. SMS messages have a maximum length of 160 129 characters (7-bit characters from the GSM character set [SMS-CHAR]), 130 or 140 octets. Other character sets (such as UCS-2 16-bit 131 characters, resulting in 70 character messages) MAY also be supported 132 [SMS-CHAR], but are defined as being OPTIONAL by the SMS 133 specification. Consequently, applications handling SMS messages as 134 part of a chain of character processing applications MUST make sure 135 that character sets are correctly mapped to and from the character 136 set used for SMS messages. 138 While the 160 character variety for SMS messages is by far the most 139 widely used one, there are numerous other content types for SMS 140 messages, such as small bitmaps ("operator logos") and simple formats 141 for musical notes ("ring tones"). However, these formats are 142 proprietary and are not considered in this memo. 144 SMS messages are very limited in length (140 octets), and the first 145 versions of the SMS specification did not specify any standardized 146 methods for concatenating SMS messages. As a consequence, several 147 proprietary methods were invented, but the current SMS specification 148 does specify message concatenation. In order to deal with this 149 situation, SMS clients composing messages SHOULD use the standard 150 concatenation method based on the header in the TP-User Data field as 151 specified in the SMS specification [SMS]. When sending a message to 152 an SMS recipient whose support for concatenated messages is unknown, 153 the SMS client MAY opt to use the backwards-compatible (text-based) 154 concatenation method defined in the SMS specification [SMS]. 155 Proprietary concatenation methods SHOULD NOT be used except in closed 156 systems, where the capabilities of the recipient(s) are always known. 158 1.2.2. SMS infrastructure 160 SMS messages can be transmitted over an SMS client's network 161 interface using the signaling channels of the underlying GSTN 162 infrastructure, so there is no delay for call setup. Alternatively, 163 SMS messages MAY be submitted through other front-ends (for example 164 Web services), which makes it possible for SMS clients to run on 165 computers which are not directly connected to a GSTN network 166 supporting SMS. 168 SMS messages sent with the GSTN SMS service MUST be sent as class 1 169 SMS messages, if the client is able to specify the message class. 171 1.2.2.1. SMS Centers 173 SMS messages are stored by an entity called SMS Center (SMSC), and 174 sent to the recipient when the subscriber connects to the network. 175 The number of a cooperative SMSC must be known to the SMS sender 176 (i.e., the entity submitting the SMS message to a GSTN 177 infrastructure) when sending the message (usually, the SMSC's number 178 is configured in the SMS client and specific for the network operator 179 to which the sender has subscribed). In most situations, the SMSC 180 number is part of the sending SMS client's configuration. However, 181 in some special cases (such as when the SMS recipient only accepts 182 messages from a certain SMSC), it may be necessary to send the SMS 183 message over a specific SMSC. 185 Short messages can be mobile terminated (MT) or mobile originated 186 (MO). MT messages are the ones that arrive at SMS clients; MO 187 messages are sent by SMS clients. Networks may support either, both, 188 or none of these. For the purpose of this memo, it is important that 189 the sending SMS client is allowed to submit MO messages, and that the 190 receiver is allowed to receive MT messages. 192 The exact setup of message submission and delivery is not subject of 193 this memo, it may incorporate additional hops in addition to the pure 194 SMS transport. For example, the sending SMS client may use a Web 195 service to submit the SMS message, and the receiving SMS client may 196 be set up to forward the SMS to an email account. For the purpose of 197 this memo, it is important that the receiver can be addressed by a 198 GSTN number, and that the sender can submit an SMS message using this 199 number. 201 1.2.3. SMS Telematic Interworking 203 While in most cases SMS messages are exchanged between SMS clients, 204 the SMS specification also includes provisions for so-called 205 "Telematic Interworking". In this scenario, the SMS message 206 specifies a Protocol Identifier, which identifies the service to 207 which the SMS message has to be submitted. In effect, this 208 implements a gateway functionality in the SMSC. 210 Telematic Interworking supports a number of services from Fax through 211 Telex and Internet Email up to voice telephone, where the gateway is 212 expected to make a text-to-speech transformation. The set of 213 possible services is defined by the SMS specification [SMS], but 214 network operators are not required to support any of these services. 215 SMS clients SHOULD implement support for Telematic Interworking, 216 which among other things means that users must be able to set the 217 Protocol Identifier field of generated SMS messages. If clients 218 support Telematic Interworking, they MUST indicate to the user the 219 changed semantics of the receiver number (e.g., if Fax is selected, 220 the receiver will be contacted via Fax rather than SMS). 222 In the following list the telematic devices (i.e., the services that 223 can be addressed using the Telematic Interworking mechanism) defined 224 by the SMS specification are described. The abbreviations are not 225 taken from the SMS specification, but are introduced by this memo for 226 identifying the device type using an SMS service qualifier keyword. 228 "IMPL": In this case the device type is implicitly defined, either 229 because the SMS Center knows it, or because it can be concluded on 230 the basis of the address. 232 "TELEX": Telex device 234 "G3FAX": Group 3 telefax device 236 "G4FAX": Group 4 telefax device 237 "VOICE": Voice telephone (this requires conversion to speech, but 238 there is no mechanism to specify a language) 240 "ERMES": ERMES (European Radio Messaging System) 242 "NATPAG": National paging system (this does not specify a specific 243 paging system but implies that the SMS center knows about a 244 particular national paging system) 246 "VIDEOTEX": Videotex 248 teletex: Teletex, either with an unspecified carrier or using PSPDN, 249 CSPDN, PSTN, or ISDN as carrier 251 "UCI": UCI (Universal Computer Interface) 253 reserved: 7 combinations are reserved which do not have a specified 254 meaning 256 "MH": Some message handling facility known to the SMS center (not 257 further specified) 259 x400: X.400-based message handling system 261 The SMS specification fails to specify how X.400 OR addresses are 262 actually embedded into SMS messages, so even though there is a 263 Protocol Identifier for X.400, it is impossible to encode the 264 recipient(s) of a message. 266 email: Internet electronic mail 268 The recipient(s) of SMS messages gatewayed to Internet electronic 269 mail are specified in the message's user data in a way defined by 270 the SMS specification. 272 specific: 7 combinations are defined to have a meaning specific to 273 each SMS center, their usage is based on mutual agreement between 274 SMS clients and the SMS center. 276 It is important to notice that some of the above devices require 277 additional information to be specified (in particular, the "Internet 278 electronic mail" format). The SMS specification defines the methods 279 how this has to be done (effectively by embedding the email 280 information into the SMS message's text). 282 1.3. Universal Resource Identifiers 284 One of the core specifications for identifying resources on the 285 Internet is RFC 3986 [RFC3986], specifying the syntax and semantics 286 of a Universal Resource Identifier (URI). The most important notion 287 of URIs are "schemes", which define a framework within which 288 resources can be uniquely identified and addressed. URIs enable 289 users to access resources, and are used for very diverse schemes such 290 as access protocols (HTTP, FTP), broadcast media (TV channels 291 [RFC2838]), messaging (email [RFC2368]), and even telephone numbers 292 (voice [RFC3966]). 294 URIs often are mentioned together with Universal Resource Names 295 (URNs) and/or Uniform Resource Locators (URLs), and it often is 296 unclear how to separate these concepts. For the purpose of this 297 memo, only the term URI will be used, referring to the most 298 fundamental concept. The World Wide Web Consortium (W3C) has issued 299 a note [uri-clarification] discussing the topic of URIs, URNs, and 300 URLs in detail. 302 1.4. SMS Messages and the Internet 304 One of the important reasons for the universal access of the Web is 305 the ability to access all information through a unique interface. 306 This kind of integration makes it easy to provide information as well 307 as to consume it. One aspect of this integration is the support of 308 user agents (in the case of the Web, commonly referred to as 309 browsers) for multiple content formats (such as HTML, GIF, JPEG) and 310 access schemes (such as HTTP, HTTP-S, FTP). 312 The "mailto" scheme has proven to be very useful and popular, because 313 most user agents support it by providing an email composition 314 facility when the user selects (e.g., clicks on) the URI. Similarly, 315 the "sms" scheme can be supported by user agents by providing an SMS 316 message composition facility when the user selects the URI. In cases 317 where the user agent does not provide a built-in SMS message 318 composition facility, the scheme could still be supported by opening 319 a Web page which provides such a service. The specific Web page to 320 be used could be configured by the user, so that each user could use 321 the SMS message composition service of his choice. 323 The goal of this memo is to specify the "sms" URI scheme, so that 324 user agents (such as Web browsers and email clients) could start to 325 support it. The "sms" URI scheme identifies SMS message endpoints as 326 resources. When "sms" URIs are dereferenced, implementations MAY 327 create a message and present it to be edited before being sent, or 328 they MAY use additional services to provide the functionality 329 necessary for composing a message and sending it to the SMS message 330 endpoint. 332 1.4.1. SMS Messages and the Web 334 SMS messages can provide an alternative to "mailto" URIs [RFC2368], 335 or "tel" or "fax" URIs [RFC3966]. When a "sms" URI is activated, the 336 user agent MAY start a program for sending an SMS message, just as 337 "mailto" may open a mail client. Unfortunately, most browsers do not 338 support the external handling of internally unsupported URI schemes 339 in the same generalized way as most of them support external handling 340 of content for MIME types which they do not support internally. 341 Ideally, user agents should implement generic URI parsers and provide 342 a way to associate unsupported schemes with external applications (or 343 Web services). 345 The recipient of an SMS message need not be a mobile phone. It can 346 be a server that can process SMS messages, either by gatewaying them 347 to another messaging system (such as regular electronic mail), or by 348 parsing them for supplementary services. 350 SMS messages can be used to transport almost any kind of data (even 351 though there is a very tight size limit), but the only standardized 352 data formats are character-based messages in different character 353 encodings. SMS messages have a maximum length of 160 characters 354 (when using 7-bit characters from the SMS character set), or 140 355 octets. However, SMS messages can be concatenated to form longer 356 messages. It is up to the user agent to decide whether to limit the 357 length of the message, and how to indicate this limit in its user 358 interface, if necessary. There is one exception to this, see 359 Section 2.5. 361 1.4.2. SMS Messages and Forms 363 The Hypertext Markup Language (HTML) [HTML401] provides a way to 364 collect information from a user and pass it to a server for 365 processing. This functionality is known as "HTML forms". A 366 filled-in form is usually sent to the destination using the Hypertext 367 Transfer Protocol (HTTP) or email. However, SMS messages can also be 368 used as the transport mechanism for these forms. As SMS transport is 369 "out-of-band" as far as normal HTTP over TCP/IP is concerned, this 370 provides a way to fill in forms offline, and send the data without 371 making a TCP connection to the server, as the set-up time, cost, and 372 overhead for a TCP connection are large compared to an SMS message. 373 Also, depending on the network configuration, the sender's telephone 374 number may be included in the SMS message, thus providing a weak form 375 of authentication. 377 2. The "sms" URI Scheme 379 Syntax definitions are given using the Augmented BNF for Syntax 380 Specifications [RFC4234]. 382 2.1. Applicability 384 This URI scheme is intended for sending an SMS message to certain 385 recipient(s). The functionality is quite similar to that of the 386 "mailto" URI, which (as per RFC 2368 [RFC2368]) can also be used with 387 a comma-separated list of email addresses. 389 In some situations, it may be necessary to guide the sender to send 390 the SMS message via a certain SMS Center (SMSC). For this purpose, 391 the URI may specify the number of a specific SMSC. 393 SMS messages may be sent through gateways to other services. These 394 gateways are operated inside SMS centers. An "sms" URI may specify 395 that a certain gateway should be used. 397 The notation for phone numbers is taken from [RFC3966]. Refer to 398 this document for information on why this particular format was 399 chosen. 401 How the SMS message is sent to the SMSC is outside the scope of this 402 specification. SMS messages can be sent over the GSM air interface, 403 by using a modem and a suitable protocol, or by accessing services 404 over other protocols, such as a Web service for sending SMS messages. 405 Also, SMS message service options like deferred delivery and delivery 406 notification requests are not within the scope of this document. 407 Such services MAY be requested from the network by the user agent if 408 necessary. 410 SMS messages sent as a result of this URI MUST be sent as class 1 SMS 411 messages, if the user agent is able to specify the message class. 413 2.2. Formal Definition 415 The URI scheme's keywords specified in the following syntax 416 description are case-insensitive. The syntax of an "sms" URI is 417 formally described as follows, where the URI base syntax is taken 418 from RFC 3986 [RFC3986]: 420 sms-uri = scheme ":" hier-part [ "?" sms-body ] 421 scheme = "sms" 422 hier-part = sms-recipient *( "," sms-recipient ) 423 sms-recipient = sms-number sms-qualifier 424 sms-number = ( global-number / local-number ) 425 global-number = "+" local-number 426 local-number = *phonedigit DIGIT *phonedigit 427 sms-qualifier = *( smsc-qualifier / pid-qualifier ) 428 smsc-qualifier = ";smsc=" sms-number 429 pid-qualifier = ";pid=" pid-value 430 sms-body = "body=" query 431 pid-value = "IMPL" / "TELEX" / "G3FAX" / "G4FAX" / "VOICE" 432 / "ERMES" / "NATPAG" / "VIDEOTEX" / teletex / "UCI" 433 / reserved / "MH" / "X400" / email / specific 434 teletex = "TELETEX-" 435 ( "UNSPEC" / "PSPDN" / "CSPDN" / "PSTN" / "ISDN" ) 436 email = "SMTP:" address 437 reserved = "RES" ( "1" / "2" / "3" / "4" / "5" / "6" / "7" ) 438 specific = "SPEC" ( "1" / "2" / "3" / "4" / "5" / "6" / "7" ) 440 Some illustrative examples using this syntax are given in 441 Section 2.4. 443 The syntax definition for "phonedigit" is taken from RFC 3966 444 [RFC3966]. 446 The syntax definition for "query" is taken from RFC 3986 [RFC3986], 447 please refer to that document. 449 The "sms-body" is used to define the body of the SMS message to be 450 composed. It consists of percent-encoded UTF-8 characters. 451 Implementations MUST make sure that the sms-body characters are 452 converted to a suitable character encoding before sending, the most 453 popular being the 7-bit SMS character encoding, another variant 454 (though not as universally supported as 7-bit SMS) is the UCS-2 455 character encoding (both specified in [SMS-CHAR]). Implementations 456 MAY choose to discard (or convert) characters in the sms-body that 457 are not supported by the SMS character set they are using to send the 458 SMS message. If they do discard or convert characters, they MUST 459 notify the user. 461 It should be noted that both the SMSC as well as the PID qualifier 462 may appear only once per sms-recipient. If multiple SMSC or PID 463 qualifiers are present, conforming software MUST interpret the first 464 occurrence and ignore all other occurrences. 466 2.3. Processing an "sms" URI 468 The following list describes the steps for processing an "sms" URI: 470 1. The "gstn-phone" of the first "sms-recipient" is extracted. It 471 is the phone number of the final recipient and it MUST be written 472 in international form with country code, unless the number only 473 works from inside a certain geographical area or a network. Note 474 that some numbers may work from several networks but not from the 475 whole world - these SHOULD be written in international form. 476 According to RFC 3966 [RFC3966], all international numbers MUST 477 begin with a "+" character. Hyphens, dots, and parentheses 478 (referred to as "visual separators" in RFC 3966) are used only to 479 improve readability and MUST NOT convey any other meaning. 481 2. The "smsc-qualifier" of the first "sms-recipient" is extracted, 482 if present. 484 3. The "pid-qualifier" of the first "sms-recipient" is extracted, if 485 present. 487 4. The "sms-body" is extracted, if present. 489 5. The user agent should provide some means for message composition, 490 either by implementing this itself, or by accessing a service 491 providing it. Message composition SHOULD start with the body 492 extracted from the "sms-body", if present. If the "pid- 493 qualifier" is set to "pid=SMTP:...", then the user agent must 494 make sure that the email address is correctly set (as defined by 495 the SMS specification [SMS]) in the message being composed. 497 6. After message composition, a user agent SHOULD try to send the 498 message first using the SMSC set in the "smsc-qualifier" (if 499 present). If that fails, the user agent MAY try another SMSC. 501 7. If the URI consists of a comma-separated list of recipients 502 (i.e., contains multiple "sms-recipient" parts), all of them are 503 processed in this manner. Exactly the same message SHOULD be 504 sent to all of the listed recipients. 506 2.4. Examples of Use 508 sms:+41796431851 510 This indicates an SMS message capable recipient at the given 511 telephone number. The message is sent using the user agent's default 512 SMSC. 514 sms:+41796431851;smsc=+41794999000 516 This indicates that the SMS message should be sent using the SMSC at 517 the given number. 519 sms:+41796431851,+4116321035;pid=fax 521 This URI should result in two SMS messages being sent, one to the 522 recipient number as shown in the example above, the other one being 523 sent as a fax to the second number (the fax is sent by the SMSC 524 performing the gatewaying, not by the user agent). 526 sms:+41796431851;pid=smtp:dret@berkeley.edu?body=hello%20there 528 In this case, a message (initially being set to "hello there", which 529 may have been modified by the user before sending) will be sent via 530 SMS using the SMS to email functionality in the SMSC, so that it will 531 eventually result in an email being sent to the specified email 532 address. In this case, interpretation of the phone number is left to 533 the SMSC, and is typically not used if the delivery of the email is 534 done with SMTP or some other email delivery mechanism. 536 2.5. Using "sms" URIs in HTML Forms 538 When using a "sms" type URI as an action URI for HTML form submission 539 [HTML401], the form contents MUST be packaged in the SMS message just 540 as they are packaged when using a "mailto" URI [RFC2368], using the 541 "application/x-www-form-urlencoded" MIME type, effectively packaging 542 all form data into URI compliant syntax [RFC3986]. The SMS message 543 MUST NOT contain any HTTP headers, only the form data. The MIME type 544 is implicit. It MUST NOT be transferred in the SMS message. 546 The character encoding used for form submissions MUST be UTF-8 547 [RFC2279]. It should be noted, however, that user agents MUST 548 percent-encode form submissions before sending them. 550 The user agent SHOULD inform the user about the possible security 551 hazards involved when submitting the form (it is probably being sent 552 as plain text over an air interface). 554 If the form submission is longer than the maximum SMS message size, 555 the user agent MAY either concatenate SMS messages, if it is able to 556 do so, or it MAY refuse to send the message. The user agent MUST NOT 557 send out partial form submissions. 559 Form submission via an "sms" URI can be combined with Telematic 560 Interworking to result in form submissions being submitted via an SMS 561 message and finally being sent to an email account. In this case, 562 all provisions for using the email "pid-qualifier" and using "sms" 563 URIs with HTML forms must be followed. 565 3. "sms" URIs and SMS Web Services 567 In many cases, user agents will not be able to directly compose and 568 send SMS messages (because this requires that such a service is 569 accessible to the system the user agent is running on). However, it 570 is likely that the user has access to a Web service that provides an 571 SMS service, such as a Web site offering form-based SMS composition. 572 Ideally, the user agent should access this Web service when 573 activating an "sms" URI, thus enabling the user to use the Web 574 service. 576 One problem with this approach is that the Web service should somehow 577 get the "sms" URI, in order to interpret it and set the required 578 parameters (such as the receiver's phone number). The easiest way to 579 implement this is for the user agent to add the "sms" URI as query 580 string to the Web service's URI. Consequently, user agents 581 supporting SMS Web services identified by URIs SHOULD append the 582 "sms" URI as query string to the Web services URI when accessing the 583 Web service. Web services providing SMS composition facilities 584 SHOULD expect to receive an "sms" URI as query string and should 585 process it as described by this memo. This method only can be 586 applied for Web service URIs which permit query strings (such as 587 "http" and "https" URIs). For other Web service URIs (such as "ftp" 588 and "mailto"), user agents as well as Web services MUST NOT use the 589 query string. 591 It should be noted that RFC 3986 [RFC3986] defines that within query 592 strings, the "gen-delims" characters ":", "/", "?", "#", "[", "]", 593 and "@" are reserved. It is therefore necessary to encode the "sms" 594 URI accordingly before appending it as query string. 596 3.1. Example 598 A document contains this fragment of (X)HTML: 600 Send me an SMS! 602 The user agent interpreting this document does not internally support 603 SMS message composition or sending, but has been configured to access 604 a Web service for handling "sms" URIs. This Web service has the 605 following URI: 607 http://sms.example.com/sms-form 608 When the user activates the "sms" URI (e.g., by clicking on the text 609 "Send me an SMS!"), the user agent sends a request to the SMS Web 610 service and acts as if the activated URI had been: 612 http://sms.example.com/sms-form?sms%3A+41796431851 614 The SMS Web service is then responsible for parsing the query string 615 and providing an appropriate interface, for example by already 616 filling in the recipient address with the number provided by the 617 "sms" URI. This way, the non-SMS capable user agent and the SMS Web 618 service can interact to provide the best integration of Web browsing 619 and SMS messaging to the user. 621 4. URI Scheme Registration 623 This memo requests the registration of the Universal Resource 624 Identifier (URI) scheme "sms" for specifying a recipient (and 625 optionally a gateway) for an SMS message. The registration request 626 complies with RFC 4395 [RFC4395]. 628 4.1. URI Scheme Name 630 sms 632 4.2. Status 634 Provisional 636 4.3. URI Scheme Syntax 638 See Section 2. 640 4.4. URI Scheme Semantics 642 The "sms" URI scheme defines a URI scheme which does not directly 643 address a resource. Thus, the usual operations that may be performed 644 on resources do not apply. Instead, the "sms" defines a way how a 645 message may be composed which is then transmitted using the SMS 646 message transmission method. This scheme can thus be compared to be 647 "mailto" URI scheme [RFC2368]. See Section 2.3 for the details of 648 operation. 650 4.5. Encoding Considerations 652 The optional body field of "sms" URIs may contain a message text, but 653 this text uses percent-encoded UTF-8 characters and thus can always 654 be represented using URI characters. See Section 2 for the details 655 of encoding. 657 4.6. Applications/Protocols that use this URI Scheme Name 659 The "sms" URI scheme is intended to be used in a similar way as the 660 "mailto" URI scheme [RFC2368]. By using "sms" URIs, authors can 661 embed information into documents which can be used as a starting 662 point for initiating message composition. Whether the client is 663 sending the message itself (for example over a GSM air interface) or 664 redirecting the user to a third party for message composition (such 665 as a Web service for sending SMS messages) is outside of the scope of 666 the URI scheme definition. 668 4.7. Interoperability Considerations 670 No interoperability issues have been identified. 672 4.8. Security Considerations 674 See Section 5. 676 4.9. Contact 678 Erik Wilde 679 UC Berkeley 680 Berkeley, CA 94720-4600 681 U.S.A. 682 tel:+1-510-6432252 683 mailto:dret@berkeley.edu 685 5. Security Considerations 687 SMS messages are transported without any provisions for privacy or 688 integrity, so SMS users should be aware of these inherent security 689 problems of SMS messages. Unlike electronic mail, where additional 690 mechanisms exist to layer security features on top of the basic 691 infrastructure, there currently is no such framework for SMS 692 messages. 694 SMS messages very often are delivered almost instantaneously (if the 695 receiving SMS client is online), but there is no guarantee for when 696 SMS messages will be delivered. In particular, SMS messages between 697 different network operators sometimes take a long time to be 698 delivered (hours or even days) or are not delivered at all, so 699 applications SHOULD NOT make any assumptions about the reliability 700 and performance of SMS message transmission. 702 In most networks, sending SMS messages is not a free service. 703 Therefore, SMS clients MUST make sure that any action that incurs 704 costs is acknowledged by the end user, unless explicitly instructed 705 otherwise by the end user. If an SMS client has different ways of 706 submitting an SMS message (such as a Web service and a phone line), 707 then the end user MUST have a way to control which way is chosen. 709 SMS clients often are limited devices (typically mobile phones), and 710 the sending SMS client SHOULD NOT make any assumptions about the 711 receiving SMS client supporting any non-standard services, such as 712 proprietary message concatenation or proprietary content types. 713 However, if the sending SMS client has prior knowledge about the 714 receiving SMS client, then he MAY use this knowledge to compose non- 715 standard SMS messages. 717 There are certain special SMS messages defined in the SMS 718 specification [SMS] that can be used, for example, to turn on 719 indicators on the phone display, or to send data to certain 720 communication ports (comparable to UDP ports) on the device. Certain 721 proprietary systems (for example, the Wireless Application Protocol 722 [WAP]) define configuration messages that may be used to reconfigure 723 the devices remotely. Any SMS client SHOULD make sure that malicious 724 use of such messages is not possible, for example by filtering out 725 certain SMS User Data headers. Gateways that accept SMS messages 726 e.g. in e-mail messages or Web forms and pass them on to an SMSC, 727 SHOULD implement this kind of 'firewalling' approach as well. 729 Because the narrow bandwidth of the SMS communications channel, there 730 should also be checks in place for excessively long concatenated 731 messages. As an example, it may take two minutes to transfer thirty 732 concatenated text messages. 734 Unchecked input from a user MUST NOT be used to populate any other 735 fields in a SMS message other than the User Data field (not including 736 the User Data Header field). All other parts, including the User 737 Data Header, of the short message should only be generated by trusted 738 means. 740 By including SMS URIs in unsolicited messages (a.k.a. "spam") or 741 other types of advertising, the originator of the SMS URIs may 742 attempt to reveal an individual's phone number and/or to link the 743 identity (i.e., e-mail address) used for messaging with the identity 744 (i.e., phone number) used for the mobile phone. This attempt to 745 collect information may be a privacy issue, and user agents may make 746 users aware of that risk before composing or sending SMS messages. 747 Users agents which do not provide any feedback about this privacy 748 issue make users more vulnerable to this kind of attack. 750 A user agent SHOULD NOT send out SMS messages without the knowledge 751 of the user, because of associated risks, which include sending 752 masses of SMS messages to a subscriber without his consent, and the 753 costs involved in sending an SMS message. 755 The user agent SHOULD have some mechanism that the user can use to 756 filter out unwanted destinations for SMS messages. The user agent 757 SHOULD also have some means of restricting the number of SMS messages 758 being sent as the result of activating one "sms" URI. 760 If an "sms" URI contains a pid-qualifier and the user agent supports 761 the qualifier and its value, then the user agent MUST set the SMS 762 message's PID as specified by the qualifier. User agents MAY inform 763 users about the value and the functional consequences of PID 764 qualifiers (e.g., by notifying users that sending the SMS effectively 765 will result in a fax message being delivered, rather than an SMS 766 message). 768 The method described in Section 3 ("sms" URIs and SMS Web Services) 769 adds another level of indirection to the handling of "sms" URIs. If 770 this method is combined with the pid-qualifier gateway functionality, 771 SMS composition and reception will probably be distributed over three 772 different protocols (the Web service, SMS transport itself, and the 773 service selected by the pid-qualifier). User agents SHOULD make this 774 clear to users (either when the Web service is being configured, or 775 when it is accessed). 777 The Telematic Interworking functionality of the SMSC addressed by the 778 pid-qualifier is not necessarily implemented by the SMSC being used, 779 and SMSC providers are known for not or not correctly supporting some 780 or all pid-qualifier values. User agents SHOULD take into account 781 that the success rate of SMS messages being sent using pid-qualifiers 782 is lower than that of "plain" SMS messages. 784 As suggested functionality, the user agent MAY offer a possibility 785 for the user to filter out those gstn-phone numbers that are 786 expressed in local format, as most premium-rate numbers are expressed 787 in local format, and because determining the correct local context 788 (and hence the validity of the number to this specific user) may be 789 very difficult. 791 When using SMS URIs as targets of forms (as described in 792 Section 2.5), the user agent SHOULD inform the user about the 793 possible security hazards involved when submitting the form (it is 794 probably being sent as plain text over an air interface). 796 6. Change Log 798 This section will not be part of the final RFC text, it serves as a 799 container to collect the history of the individual draft versions. 801 6.1. From -11 to -12 803 o Integrated draft-wilde-sms-service-11 and 804 draft-wilde-sms-uri-registration-00 into this draft. This draft 805 is now self-contained. 807 o Changed the phone number notation to use the definition from RFC 808 3966 [RFC3966] rather than RFC 3601 (RFC 3966 is a simpler 809 notation disallowing some of the special characters allowed by RFC 810 3601). 812 o Rephrased various parts of Section 5. 814 o Removed Section "Author/Change Controller". 816 o RFC 2806 (tel URI scheme) has been obsoleted by [RFC3966]. 818 6.2. From -10 to -11 820 o RFC 2234 (ABNF) has been obsoleted by [RFC4234]. 822 o Updated reference information for [SMS] and [SMS-CHAR]. 824 o Minor textual changes. 826 6.3. From -09 to -10 828 o Added security consideration about filtering local format phone 829 numbers. 831 o Changed IPR clause from RFC 3667 to RFC 3978 (updated version of 832 RFC 3667). 834 6.4. From -08 to -09 836 o Fixed syntax error in hier-part and sms-recipient non-terminals, 837 which allowed sms-recipients to be concatenated without comma 838 separation. 840 6.5. From -07 to -08 842 o URIs are now defined by RFC 3986 [RFC3986], so the text (including 843 the syntax definitions) and the references have been updated. 845 6.6. From -06 to -07 847 o Changed IPR clause from RFC 2026 to RFC 3667 (updated version of 848 RFC 2026). 850 6.7. From -05 to -06 852 o Updated reference from draft-allocchio-gstn to RFC 3601. 854 6.8. From -04 to -05 856 o Updated reference to SMS spec to the version referenced in the SMS 857 service draft. 859 6.9. From -03 to -04 861 o Updated reference to draft-allocchio-gstn (to revision -05). 863 6.10. From -02 to -03 865 o Changed ordering of "change Log" section (descending to 866 ascending). 868 o Clarified the wording at the beginning of Section 2.2 about only 869 the keywords of the scheme being case-insensitive. 871 o Changed "sms-body" to be a URI query string. 873 o Added some text describing "sms" URIs as addressing resources. 875 6.11. From -01 to -02 877 o Changed the sms-body field to percent-encoded UTF-8 characters. 879 6.12. From -00 to -01 881 o Added the "sms-body" field and its processing rules. 883 o Added Section 3 about using "sms" URIs as query strings for SMS 884 Web services. 886 o Fixed typo in ABNF (said "global-phone" instead of "gstn-phone"). 888 o Added some explanatory text about form submissions using email 889 Telematic Interworking. 891 o Added some text about character encoding in form submissions. 893 6.13. Change Log of draft-wilde-sms-service 895 This section contains the change log of draft-wilde-sms-service-11 896 before it was incorporated into this document at version 897 draft-wilde-sms-uri-12. 899 6.13.1. From -10 to -11 901 o RFC 2234 (ABNF) has been obsoleted by [RFC4234]. 903 o Added new security issue in Section 5. 905 o Updated reference information for [SMS] and [SMS-CHAR]. 907 o Minor textual changes. 909 6.13.2. From -09 to -10 911 o Changed IPR clause from RFC 3667 to RFC 3978 (updated version of 912 RFC 3667). 914 6.13.3. From -08 to -09 916 o No changes, re-release for alignment with draft-wilde-sms-uri. 918 6.13.4. From -07 to -08 920 o No changes, re-release for alignment with draft-wilde-sms-uri. 922 6.13.5. From -06 to -07 924 o Changed IPR clause from RFC 2026 to RFC 3667 (updated version of 925 RFC 2026). 927 6.13.6. From -05 to -06 929 o Updated reference from draft-allocchio-gstn-05 to RFC 3601. 931 6.13.7. From -04 to -05 933 o No changes, re-release for alignment with draft-wilde-sms-uri. 935 6.13.8. From -03 to -04 937 o Updated reference to draft-allocchio-gstn (to revision -05). 939 6.13.9. From -02 to -03 941 o Changed ordering of "change Log" section (descending to 942 ascending). 944 o Fixed some spelling errors. 946 6.13.10. From -01 to -02 948 o Removed address specification for X.400 SMS from ABNF 949 (surprisingly not part of the SMS spec). 951 o Added some explanatory text about character set mapping for SMS 952 messages. 954 o Added text requiring the use of message class 1 for sending SMS 955 messages. 957 6.13.11. From -00 to -01 959 o Added a number of new security considerations. 961 o Added the "PID" qualif-type1 keyword and the section about "SMS 962 Telematic Interworking" Section 1.2.3. 964 7. References 966 7.1. Normative References 968 [HTML401] Raggett, D., Le Hors, A., and I. Jacobs, "HTML 4.01 969 Specification", W3C REC-html401, December 1999, 970 . 972 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 973 Requirement Levels", RFC 2119, March 1997. 975 [RFC2279] Yergeau, F., "UTF-8, a transformation format of ISO 976 10646", RFC 2279, January 1998. 978 [RFC2822] Resnick, P., "Internet Message Format", RFC 2822, 979 April 2001. 981 [RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", 982 RFC 3966, December 2004. 984 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 985 Resource Identifier (URI): Generic Syntax", RFC 3986, 986 January 2005. 988 [RFC4234] Crocker, D. and P. Overell, "Augmented BNF for Syntax 989 Specifications: ABNF", RFC 4234, October 2005. 991 [RFC4395] Hansen, T., Hardie, T., and L. Masinter, "Guidelines and 992 Registration Procedures for New URI Schemes", RFC 4395, 993 February 2006. 995 [SMS] European Telecommunications Standards Institute, "3GPP TS 996 03.40 (Version 7.5.0 Release 1998): 3rd Generation 997 Partnership Project; Technical Specification Group 998 Terminals; Technical realization of the Short Message 999 Service (SMS)", December 2001, . 1002 [SMS-CHAR] 1003 European Telecommunications Standards Institute, "TS 100 1004 900 (GSM 03.38 version 7.2.0 Release 1998): Digital 1005 Cellular Telecommunications System (Phase 2+); Alphabets 1006 and language-specific information", July 1999, . 1010 7.2. Non-Normative References 1012 [RFC2368] Hoffmann, P., Masinter, L., and J. Zawinski, "The mailto 1013 URL scheme", RFC 2368, June 1998. 1015 [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, 1016 June 1999. 1018 [RFC2838] Zigmond, D. and M. Vickers, "Uniform Resource Identifiers 1019 for Television Broadcasts", RFC 2838, May 2000. 1021 [WAP] WAP Forum, "Wireless Application Protocol - Architecture 1022 Specification (WAP-210-WAPArch-20010712)", July 2001. 1024 [uri-clarification] 1025 World Wide Web Consortium, "URIs, URLs, and URNs: 1026 Clarifications and Recommendations 1.0", W3C uri- 1027 clarification , September 2001, 1028 . 1030 Appendix A. Where to send Comments 1032 Please send all comments and questions concerning this document to 1033 Erik Wilde. 1035 Appendix B. Acknowledgements 1037 This document has been prepared using the IETF document DTD described 1038 in RFC 2629 [RFC2629]. 1040 Thanks to Claudio Allocchio for his comments. 1042 Authors' Addresses 1044 Erik Wilde 1045 UC Berkeley 1046 Berkeley, CA 94720-4600 1047 U.S.A. 1049 Phone: +1-510-6432253 1050 Email: dret@berkeley.edu 1051 URI: http://dret.net/netdret/ 1053 Antti Vaha-Sipila 1054 Nokia 1056 Email: antti.vaha-sipila@nokia.com 1058 Full Copyright Statement 1060 Copyright (C) The IETF Trust (2007). 1062 This document is subject to the rights, licenses and restrictions 1063 contained in BCP 78, and except as set forth therein, the authors 1064 retain all their rights. 1066 This document and the information contained herein are provided on an 1067 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 1068 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 1069 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 1070 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 1071 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 1072 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 1074 Intellectual Property 1076 The IETF takes no position regarding the validity or scope of any 1077 Intellectual Property Rights or other rights that might be claimed to 1078 pertain to the implementation or use of the technology described in 1079 this document or the extent to which any license under such rights 1080 might or might not be available; nor does it represent that it has 1081 made any independent effort to identify any such rights. Information 1082 on the procedures with respect to rights in RFC documents can be 1083 found in BCP 78 and BCP 79. 1085 Copies of IPR disclosures made to the IETF Secretariat and any 1086 assurances of licenses to be made available, or the result of an 1087 attempt made to obtain a general license or permission for the use of 1088 such proprietary rights by implementers or users of this 1089 specification can be obtained from the IETF on-line IPR repository at 1090 http://www.ietf.org/ipr. 1092 The IETF invites any interested party to bring to its attention any 1093 copyrights, patents or patent applications, or other proprietary 1094 rights that may cover technology that may be required to implement 1095 this standard. Please address the information to the IETF at 1096 ietf-ipr@ietf.org. 1098 Acknowledgment 1100 Funding for the RFC Editor function is provided by the IETF 1101 Administrative Support Activity (IASA).