INTERNET-DRAFT                                           A. Vaha-Sipila
Expires 24-Mar-1998                                               Nokia
                                                            19-Sep-1997


                          URLs for Telephony
                  <draft-antti-telephony-url-01.txt>

Status of This Memo

    This document is an Internet-Draft. Internet-Drafts are working
    documents of the Internet Engineering Task Force (IETF), its
    areas, and its working groups. Note that other groups may also
    distribute working documents as Internet-Drafts.

    Internet-Drafts are draft documents valid for a maximum of six
    months and may be updated, replaced, or obsoleted by other
    documents at any time. It is inappropriate to use Internet-Drafts
    as reference material or to cite them other than as "work in
    progress."

    To learn the current status of any Internet-Draft, please check
    the "1id-abstracts.txt" listing contained in the Internet-Drafts
    Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net
    (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East
    Coast), or ftp.isi.edu (US West Coast).

Abstract

    This document specifies URL (Uniform Resource Locator) schemes
    "tel", "fax" and "modem" for specifying the location of a terminal
    in the phone network and the connection types (modes of operation)
    that can be used to connect to that entity. This specification
    covers voice calls (normal phone calls, answering machines and
    voice messaging systems), facsimile (telefax) calls and data
    calls, both for POTS and digital/mobile subscribers.

Version History

    > Changes to the previous versions are indicated by a bar in the
    > left margin like in this section.

Contents

    1.   Introduction . . . . . . . . . . . . . . . . . . . 2
    1.1  New URL Schemes  . . . . . . . . . . . . . . . . . 2
    1.2  Formal Definitions . . . . . . . . . . . . . . . . 2
    1.3  Requirements . . . . . . . . . . . . . . . . . . . 2
    2.   URL Schemes for Telephone Calls  . . . . . . . . . 2
    2.1  Applicability  . . . . . . . . . . . . . . . . . . 3
    2.2  "tel" URL Scheme . . . . . . . . . . . . . . . . . 3
    2.3  "fax" URL Scheme . . . . . . . . . . . . . . . . . 3
    2.4  "modem" URL Scheme . . . . . . . . . . . . . . . . 4
    2.5  Parsing tel, fax and modem URLs  . . . . . . . . . 4
    2.6  Examples of Use  . . . . . . . . . . . . . . . . . 6
    3.   References . . . . . . . . . . . . . . . . . . . . 7

A. Vaha-Sipila             URLs for Telephony           September 1997
INTERNET-DRAFT             Expires March, 1998               [Page  2]

    4.   Security Considerations  . . . . . . . . . . . . . 7
    5.   Authors' Addresses . . . . . . . . . . . . . . . . 8

1. Introduction

1.1 New URL Schemes

    URLs that designate phone or fax numbers that can be dialed have
    been brought forward in other (currently expired) Internet-Drafts.
    However, none of these has reached the RFC status. This document
    tries to remedy the situation. All interested parties are invited
    to submit comments on this Internet-Draft. Contact information can
    be found at the end of this document.

    > This specification defines three new URL schemes: "tel", "fax"
    > and "modem". They are intended for describing a terminal that
    > can be contacted using the telephone network. The description
    > includes the subscriber (telephone) number of the terminal and
    > the necessary parameters for successfully connecting to that
    > terminal.

    > The "tel" scheme describes a connection to a terminal that
    > handles normal voice telephone calls, a voice mailbox or another
    > voice messaging system or a service that can be operated using
    > DTMF codes or any other telephone call that uses voice.

    > The "fax" scheme describes a connection to a terminal that can
    > handle telefaxes (facsimiles).

    > The "modem" scheme describes a connection to a terminal that can
    > handle incoming data calls. The term "modem" refers to a device
    > that does digital-to-analog and analog-to-digital conversions;
    > in addition to these, a "modem" scheme can describe a fully
    > digital connection.

1.2 Formal Definitions

    Rules are separated from definitions by an equal "=", literals are
    quoted with double quotes "", parentheses "(" and ")" are used to
    group elements and optional elements are enclosed in "[" and "]"
    brackets.

    Elements may be preceded with n* to designate n repetitions of the
    following element; n defaults to 0. Single quotes '' are used to
    indicate elements that are not formally specified and are
    described in free text instead. Indentation indicates that the
    definition continues from the previous line.

1.3 Requirements

    Compliant software MUST follow this specification. Requirements
    are indicated by capitalized words as specified in [RFC2119].

2. URL Schemes for Telephone Calls

A. Vaha-Sipila             URLs for Telephony           September 1997
INTERNET-DRAFT             Expires March, 1998               [Page  3]


2.1 Applicability

    > In this document, "user agent" means software that can detect
    > and parse one or more of these URLs and place a call to the
    > remote terminal using hardware at its disposal.

    These URL schemes are used to direct the user agent to place a
    call using the telephone network. The network in question may be a
    landline or mobile phone network. If the phone network
    differentiates between (for example) voice and data calls, or if
    the user agent has several different telecommunications equipment
    at its disposal, it is possible to specify which kind of call
    (voice/fax/data) is requested. It is also possible to give
    information about the capabilities of the remote entity, so that
    the connection can be established successfully.

    > None of the URL schemes do have a 'path' in them - they are
    > always absolute. Everything is case-insensitive.

2.2 "tel" URL Scheme

    > The URL syntax is formally described as follows:

    > tel-url               = scheme ":" scheme-specific-part
    > scheme                = "tel"
    > scheme-specific-part  = subscriber-id
    > subscriber-id         = ["+"] phone-number
    > phone-number          = 1*phonedigit
    >                         [sub-address-separator 1*phonedigit]
    >                         [pause-character *(phonedigit |
    >                         dtmf-digit | pause-character)]
    > phonedigit            = digit | "-" | "."
    > sub-address-separator = "i"
    > pause-character       = "p" | "w"
    > digit                 = "0" | "1" | "2" | "3" | "4" | "5" |
    >                         "6" | "7" | "8" | "9"
    > dtmf-digit            = "*" | "#" | "A" | "B" | "C" | "D"

2.3 "fax" URL Scheme

    > The URL syntax is formally described as follows:

    > fax-url               = scheme ":" scheme-specific-part
    > scheme                = "fax"
    > scheme-specific-part  = subscriber-id [fax-params]
    > subscriber-id         = ["+"] phone-number
    > phone-number          = 1*phonedigit
    >                         [sub-address-separator 1*phonedigit]
    >                         [pause-character *(phonedigit |
    >                         dtmf-digit | pause-character)]
    > phonedigit            = digit | "-" | "."
    > sub-address-separator = "i" | "s"
    > pause-character       = "p" | "w"

A. Vaha-Sipila             URLs for Telephony           September 1997
INTERNET-DRAFT             Expires March, 1998               [Page  4]

    > digit                 = "0" | "1" | "2" | "3" | "4" | "5" |
    >                         "6" | "7" | "8" | "9"
    > dtmf-digit            = "*" | "#" | "A" | "B" | "C" | "D"
    > fax-params            = ";type=" fax-capabilities
    > fax-capabilities      = "T2" | "T3" | "T4" | "T6"

2.4 "modem" URL Scheme

    > The "modem" URL scheme has two free-text fields, which contain
    > the user name and password for authentication. Certain
    > characters in these fields are marked as "reserved", and they
    > MUST be escaped using URL-encoding if present in the free-text
    > fields. Characters not present in 7-bit US ASCII, unprintable
    > characters and whitespace MUST also be escaped.

    > reserved              = " " | ":" | "?" | ";" | "=" | "@"
    >                         | "+"

    > The URL syntax is formally described as follows:

    > modem-url             = scheme ":" scheme-specific-part
    > scheme                = "modem"
    > scheme-specific-part  = [user-name [":" password] "@"]
    >                         subscriber-id *[modem-params]
    > subscriber-id         = ["+"] phone-number
    > phone-number          = 1*phonedigit
    >                         [sub-address-separator 1*phonedigit]
    >                         [pause-character *(phonedigit |
    >                         dtmf-digit | pause-character)]
    > phonedigit            = digit | "-" | "."
    > sub-address-separator = "i"
    > pause-character       = "p" | "w"
    > digit                 = "0" | "1" | "2" | "3" | "4" | "5" |
    >                         "6" | "7" | "8" | "9"
    > dtmf-digit            = "*" | "#" | "A" | "B" | "C" | "D"
    > modem-params          = ";type=" data-capabilities
    > data-capabilities     = modem-type ["?" data-bits parity
    >                         stop-bits]
    > modem-type            = "V21" | "V22" | "V22b" |
    >                         "V23" | "V26" | "V32" |
    >                         "V32b" | "V34" | "V110" |
    >                         "V120" | "B103" | "B212" |
    >                         "X75"
    > data-bits             = "7" | "8"
    > parity                = "n" | "e" | "o" | "m" | "s"
    > stop-bits             = "1" | "2"
    > user-name             = 'a user name for authentication;
    >                         in URL-encoded notation'
    > password              = 'a password for authentication;
    >                         in URL-encoded notation'

2.5 Parsing tel, fax and modem URLs

    A. The type of call is specified by the scheme specifier. "Tel"

A. Vaha-Sipila             URLs for Telephony           September 1997
INTERNET-DRAFT             Expires March, 1998               [Page  5]

    means that a voice call is opened. "Fax" indicates that the call
    should be a facsimile (telefax) call. "Modem" means that it should
    be a data call.

    > B. "Subscriber-id" is the phone number to be dialed. This phone
    > number MUST be written in international notation with country
    > (CC) and national (NSN) numbers, as specified in [E.123] and
    > [E.164], unless the number only works from inside a certain
    > geographical area or a network. Note that some numbers may work
    > from several networks but not from the whole world - these
    > SHOULD be written in international form.

    The "subscriber-id" is extracted. If it begins with a "+", it is
    an international number. This kind of a number is converted to the
    user agent's local format (for example, if the agent is a browser
    component that dials out, the "+" is replaced by the international
    call prefix, or if the country code matches the country code of
    user agent's home country, the "+" and the country code are
    replaced by a trunk call prefix).

    > International numbers MUST begin with "+", which indicates that
    > the number begins with a country code (CC). Hyphens and dots in
    > a phone number are only to aid readability; they MUST NOT have
    > any other meaning. Although [E.123] recommends the use of space
    > characters as the separators, spaces MUST NOT be used in these
    > URLs.

    A phone number may contain "p" or "w" characters which indicate a
    pause of 1 second while dialing, or a wait for user input,
    respectively. User agents SHOULD support this method of dialing.
    If it is not supported, user agents MUST ignore everything after
    the "p" or "w" characters. All digits after the first "p" or "w"
    character MUST be sent to line using DTMF (Dual Tone
    Multifrequency) in-band signaling, even if dialing is done using
    direct network signaling (a digital subscriber loop or a mobile
    phone).

    > A phone number MAY also contain an "i" character which indicates
    > the start of an ISDN subaddress. ISDN subaddresses are sent to
    > the remote terminal during call setup by the caller's equipment.
    > ISDN-connected user agents SHOULD support this method of dialing
    > and if it is not supported, the "i" character and all subsequent
    > digits MUST be ignored.

    > A fax number MAY also contain a "s" character, which indicates
    > the start of a T.33 subaddress [T.33]. User agents MAY support
    > this method of dialing. Otherwise the "s" character and all
    > subsequent digits MUST be ignored.

    > Any telephone number must contain at least one digit, that is,
    > numbers consisting only of non-numbers are not allowed.

    > C. A "type" specifier after "subscriber-id" tells the user-agent
    > which kind of telefax or modem can be used to contact the remote

A. Vaha-Sipila             URLs for Telephony           September 1997
INTERNET-DRAFT             Expires March, 1998               [Page  6]

    > entity. The user agent MUST call out using compatible hardware,
    > or request that the network provides such a service. For the
    > "modem" URL, this also means that the number of data and stop
    > bits and parity MUST be set according to the information given
    > in the URL or to default values, if the information is not
    > present.

    The capability tokens are listed below. If parsed capabilities
    suggest that it is impossible to create a connection, the
    connection MUST NOT be created.

    > D. After a data connection has been established, "user-name" and
    > "password" parts instruct the user agent of how to identify
    > itself to the remote entity. How this identifying information is
    > used is outside the scope of this document. For example, they
    > might be given as parameters to an autologin script.

    > If new modem or fax types are standardized by ITU-T, this list
    > can be extended with those capability tokens. Tokens are formed
    > by taking the name of the standard and joining together the
    > first letter, number and the first letter of the postfix. New
    > capabilities SHOULD then be documented in an RFC. New non-ITU-T
    > capabilities MUST be specified in an RFC.

    Capability                        Explanation

    V21                               ITU-T V.21
    V22                               ITU-T V.22
    V22b                              ITU-T V.22bis
    V23                               ITU-T V.23
    V26t                              ITU-T V.26ter
    V32                               ITU-T V.32
    V32b                              ITU-T V.32bis
    V34                               ITU-T V.34
    V110                              ITU-T V.110
    V120                              ITU-T V.120
    X75                               ITU-T X.75
    B103                              Bell 103
    B212                              Bell 212
    > T2                              ITU-T T.2 (G1) facsimile
    > T3                              ITU-T T.3 (G2) facsimile
    > T4                              ITU-T T.4 (G3) facsimile
    > T6                              ITU-T T.6 (G4) facsimile
    Data bits: "8" or "7"             The number of data bits. If not
                                      specified, defaults to "8".
    Parity: "n", "e", "o",            Parity. None, even, odd, mark or
    "m", "s"                          space parity, respectively. If
                                      not specified, defaults to "n".
    Stop bits: "1" or "2"             The number of stop bits. If not
                                      specified, defaults to "1".

2.4 Examples of Use

      tel:+358-55-1234567

A. Vaha-Sipila             URLs for Telephony           September 1997
INTERNET-DRAFT             Expires March, 1998               [Page  7]


    This URL instructs the user agent to place a voice call to the
    specified number in Finland. The hyphens are included to make the
    number more human-readable: country and area codes have been
    separated from the subscriber number.

      fax:+358.55.1234567

    The above URL instructs the user agent to place a fax call to the
    specified number. It uses dots instead of hyphens as separators.

      modem:+358551234567;type=v34?7e1;type=v110

    This URL instructs the user agent to place a data call to the
    specified number. The user agent may opt to use either a ITU-T
    V.34 modem (or a slower one, which is compatible with V.34), using
    settings of 7 data bits, even parity and one stop bit, or an ISDN
    connection using ITU-T V.110 protocol.

      tel:+358-55-1234567pp22

    The above URL instructs the user agent to place a voice call to
    +358-55-1234567, then wait two seconds and emit two DMTF dialing
    tones "2" on the line (for example, to choose a particular
    extension number). As a side note, ost Hayes AT compatible modems
    accept commas "," as the pause characters.

3. References

    [RFC1738] Uniform Resource Locators (URL). December 1994. T.
    Berners-Lee et al. <URL:ftp://ftp.ds.internic.net/rfc/rfc1738.txt>

    [RFC2119] Key Words for Use in RFCs to Indicate Requirement
    Levels. March 1997. S. Bradner.
    <URL:ftp://ftp.ds.internic.net/rfc/rfc2119.txt>

    > [E.123] ITU-T Recommendation E.123: Telephone Network and ISDN
    > Operation, Numbering, Routing and Mobile Service: Notation for
    > National and International Telephone Numbers. 1993.

    > [E.164] ITU-T Recommendation E.164: Telephone Network and ISDN
    > Operation, Numbering, Routing and Mobile Service: Numbering Plan
    > for the ISDN Era. 1991.

    > [T.33] ITU-T Recommendation T.33: Facsimile Routing Utilizing
    > the Subaddress. 1996.

4. Security Considerations

    It should be noted that the user agent SHOULD NOT call out without
    the knowledge of the user because of associated risks, which
    include

    - call costs (including long calls, long distance calls,

A. Vaha-Sipila             URLs for Telephony           September 1997
INTERNET-DRAFT             Expires March, 1998               [Page  8]

      international calls and prime rate calls)
    - wrong numbers inserted on web pages by malicious users
    - making the user's phone line unavailable (off-hook) for a
      malicious purpose
    - opening a data call to a remote host, thus possibly opening a
      back door to the user's computer

    The user agent SHOULD have some mechanism that the user can use to
    filter out unwanted numbers. The user agent SHOULD NOT use rapid
    redialing of the number if it is busy to avoid the congestion of
    the (signaling) network. Also, the user agent SHOULD detect if the
    number is unavailable or if the call is terminated before the
    dialing string has been completely processed (for example, the
    call is terminated while waiting for user input) and not try to
    call again, unless instructed by the user.

5. Authors' Addresses

    Contact person for this specification:

        Nokia Mobile Phones
        Antti Vaha-Sipila
        P. O. Box 68
        FIN-33721 Tampere
        Finland

        Electronic mail: antti.vaha-sipila@nmp.nokia.com

    Please include your name and electronic mail address in all
    communications. If you want to receive the newest version of this
    specification electronically, send mail to the address above.

    This document expires on the 24th of March, 1998, or when a
    new version is released.





















A. Vaha-Sipila             URLs for Telephony           September 1997