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