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).