One document matched: draft-cordell-sg16-conv-url-00.txt


INTERNET-DRAFT                                                 Cordell
draft-cordell-sg16-conv-url-00.txt                                  BT
                                                                Editor
                                                          Dec 16, 1997
                                                 Expires: 21 June 1998

		Conversational Multimedia URLs

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

{Editor's comments are in braces}

Abstract

The evolving technologies for real-time conversation over the Internet 
require URLs to provide user contact information.  As there are many 
protocols (including some that are not Internet based) that can be used 
for inter-user conversation, this document describes a two stage 
transaction process for obtaining a URL that can be used to initiate 
conversation.  The first stage involves retrieving a list of protocol 
specific URLs in a MIME encoded file.  The MIME type enables an 
appropriate application to be launched which will analyse the presented 
URLs and select the most appropriate one.  The second stage involves 
interpreting the protocol specific URL and initiating the conversation.
The protocol specific URLs are encoded in a URL form so that they can be
embedded directly into HTML pages.  This allows the first stage to be 
omitted.  The document describes the format of the MIME encoded list of 
URLs, and the format of a number of protocol specific URLs.


Contents

ABSTRACT			1
CONTENTS			1
REVISIONS SINCE LAST VERSION	1
1. INTRODUCTION			1
2. THE MIME FILE		2
3. PROTOCOL SPECIFIC URLS	3
3.1. COMMON URL ELEMENTS	3
3.2. H.323 URL			3
3.3. H.324 URL			5
3.4. H.320 URL			5
3.5. POTS URL			5
3.6. T.120 URL			5
4. E-MAIL LIST			6
5. SECURITY CONSIDERATIONS	6
6. ACKNOWLEDGEMENTS		6
7. REFERENCES			6
APPENDIX 1 - COMPLETE ABNF	6
AUTHOR'S ADDRESS		7


Revisions Since Last Version 

*	Removed call-id as a parameter


1. Introduction

Internet technology allows for real-time conversation to take place.  It
also provides a convenient method of obtaining user location information
in the form of URLs.  (Note:  As used here, the term user can refer to a
person, a machine, or any other entity a person or machine may care to 
have a conversation with.)  These can describe Internet conversational 
protocols, and non-Internet based conversational mechanisms such as 
POTS.  As there are a number of conversational protocols that can be 
used to contact a user, this document describes a two stage process for 
initiating conversation, with the first stage being optional.  The first
stage retrieves a list of protocol specific URLs in a MIME encoded file.
This list is analysed and the most appropriate URL is selected.  The 
second stage involves interpreting the protocol specific URL.  The 
protocol specific URLs are in a form that can be directly embedded into 
HTML pages so that the first stage can be omitted.

The scheme presented here is designed to leverage as much as possible of
existing infrastructure.  As other technologies become common place 
(such as CMA [1] and vCard [2]) the mechanisms presented here may lapse.

The remainder of this document describes the format of the MIME file, 
and the format of a number of protocol specific URLs.


2. The MIME file

The first stage in the contact process is to obtain a list of possible 
contact mechanisms.  To enable a single link to be placed in an HTML 
page, an indirection method is used wherein a link to a MIME encoded 
file is made.  The MIME type of the file is:

	APPLICATION/TALKTO

and the default extension is:

	.tlk

The MIME file should be retrieved using HTTP.  Files that contain time 
dependent protocol specific URLs should ensure that the files are marked
as non-cacheable.

The MIME encoded file consists of ASCII text and lists a number of 
protocol specific URLs that can be used to contact a remote user.  The 
section below describes a number of protocol specific URLs, but this 
should not be considered an exhaustive list.

Each protocol specific URL is presented on a separate line with no 
leading white space.  The preferred line break convention is the one 
used for HTTP (CRLF), but applications must be tolerant to other line 
break conventions so that files can be readily edited on diverse hosts.

Each protocol specific URL may be followed by some white space and a 
comment.  The comment should be in a form that can be presented to a 
user as part of a manual selection process.  By default the comments are
ignored.  For example:

<protocol_specific_url>    ;My home number
<protocol_specific_url>    ;My bosses number

Lines which begin with white-space should be considered as comments and 
ignored.
The order of the URLs should be such that the most preferred URL is 
presented first, and the least preferred is presented last.  When 
interpreting the file, if a URL is unsupported, or is not understood, it
should be skipped.  Endpoints are encouraged to take into account the 
preference order indicated by the file when selecting a URL, but this is
not required.  Parsing of the file may continue if a contact attempt 
fails.

Note that the file does not contain any other information such as the 
times when specific URLs are valid.  This enables a simple file format 
that does not have to cope with arbitrary search sequences and the 
complications of time-zones.  Therefore, strictly, the file is only 
valid at the time it is downloaded and the HTTP cache control attributes
should be used to control its validity as required. 

As with any file downloaded by HTTP, it can be a static file on a server
or dynamically generated by an executable.  The data for the latter may 
be uploaded by schemes such as the VoIP's CMA protocol[1].  

Validation of who is allowed to obtain various types of location 
information can be done using WWW-Authentication and cookies.  This 
document provides no additions to these HTTP mechanisms.

Example URLs for downloading the MIME file are:

	http://talkto.mycom.com/me.tlk
	http://talkto.mycom.com/cma.exe?me

{For consideration:
The above scheme is simple, but not extensible.  It may be prudent to 
define a basic extension scheme to cope with any future problems.  The 
follwing scheme is suggested for consideration.
If the line starts with a "+", then this line contains a parameter that 
is optional to interpret, i.e. parsing of the file can continue even if 
the parameter is not understood.
If the line starts with "*", then the line contains a parameter that 
must be understood.  The rest of the file should only be interpreted if 
the parameter is understood, but earlier lines can be interpreted even 
if the paramter is not understood.  This definition allows simple parser
features and complex parser features to co-exist in the same file.  e.g.
a file might contain:

h323:pete@h323.bt.com
*time=17:00-8:30
h323:home@h323.bt.com

where time is a paramter to be defined in the future.  Parsers that 
don't understand the time parameter could use the first URL, but not the
second}.


3. Protocol Specific URLs

Protocol specific URLs describe contact information for a specific 
protocol.  This section describes a number of these URLs, but this 
should not be considered an exhaustive list.  Other suitable URLs 
include the IETF's SIP, VoIP's CMA, and Microsoft's CALLTO schemes.  
Although the main intention of these URLs is to describe conversational 
protocols, URLs such as CHAT and MAILTO may be appropriate as a last 
resort.  Under certain circumstances RTSP URLs may also be useful.
This section starts with a description of some common elements.  These 
are then used in the protocol specific URLs.


3.1. Common URL elements

This sub-section describes common elements from which the protocol 
specific URLs are constructed.  A number of the elements use definitions
from [3].

	network = packet-network | switched-network
	packet-network = "ip"  | "tls" | "udp" | "aal5"
				; ip = IP connection without TLS
				; tls = IP connection made over TLS
				; udp = IP connection made over UDP -
				;	this channel may be made reliable
				;	using additional means
				; aal5 = ATM AAL5 call
	switched-network = "pots" | "isdn" | "aal1"	
				; pots = GSTN or ISDN speech/audio call
				; isdn = ISDN data call
				; aal1 = ATM AAL1 call
	address = ip-address | phone-address 

	ip-address =  hostport	; hostport defined in [3]

	phone-address = global-phone-number *[ "&" global-phone-number ]
				; global-phone-number defined in [4].  
				; H.323 endpoints do not support the
				; wait for tone pause character

	param-list = param | param  param-list
	param = ";" h323-param

Telephone numbers in phone-address should always be presented in a full 
international form, including the "+" sign.  It is the responsibility of
endpoints and/or gatekeepers to convert these to location specific 
numbers.


3.2. H.323 URL

{Note: the format of this URL has been structured to have a basic form 
of h323:pete@h323.bt.com.  This is because users are familiar with this 
format, and it is intuitive what it means.  However, this does present 
problems when e-mail ids which include an @ are included in the URL.  
One solution is to include the e-mail @ in its escaped form, i.e. %40.  
Another option is to specify  that parsers should be tolerant of 
duplicate @ signs.  Yet another option is to use an alternative 
character to represent the @ in the basic URL form, i.e.  
h323:pete/bt.com.  This appears less intuitive, and there may be many 
erroneous URLs generated as the number of /s at the beginning become 
very significant, such as in h323:/pete.bt.com which should resolve to 
an IP address only. }

There are two H.323 related URLs.  The first form initiates a call 
directly based on the information in the URL.  The second initiates a 
call based on information that is obtained by first issuing an H.323 
LRQ.

For the first form, the scheme is:

	h323url = "h323" ":" [ "/" [ network ] "/" ] h323-address 
					[h323-param-list]

and the second form is:

	lrqurl = "lrq" "://" ip-address [h323-param-list]

where:

	h323-address = user-part | address | user-part address
	user-part = user [ ":" type ] "@"
	user = 1*alphanum		; alphanum defined in [3]
	type = "e164" | "h323id" | "email"

The 'network' part of the URL need only be present if the network is not
of type IP (i.e. ip is the default network).

If an ip-address is used in the 'address' field, the 'user' and 'type' 
fields specify the information to be placed in the destinationInfo part 
of ARQ and destinationAddress part of SETUP.  The 'type' field specifies
the type of AliasAddress.  If the user field starts with a digit, "*" or
"#" the default type is "e164", otherwise it is "h323id".  

If a 'phone-number' is used in the address field any 'user' and 'type' 
parts are placed in the remoteExtensionAddress part of SETUP, and the 
phone number is placed in the destinationInfo part of ARQ and 
destinationAddress part of SETUP.  It is the responsibility of the 
receiving H.323 over ISDN gateway to transfer the remoteExtensionAddress
to the destinationInfo part of ARQ and destinationAddress part of SETUP 
prior to making the onward call. 

To place an aliasAddress containing an @ sign in the 'user' field, the 
escaped form of the @ sign must be used, i.e. %40.

If the 'address' field is of type ip-address this is placed in the 
destCallSignalAddress fields of both ARQ and SETUP.  

The H.323 URL may have a number of parameters associated with it.  If an
endpoint does not know how to handle a parameter then it shall ignore 
the entire URL.  At the time of writing the valid parameters are:

	h323-param = cid-param | token-param | l2-param
	cid-param = "cid" "=" UUID		; UUID is specified in [5]
	token-param = "token" "=" "0x" 1* hex 
	l2-param  = "l2" "=" ( "PPP" | "MPPP" | "SLIP" )
						; Layer 2 format

The cid parameter encodes a UUID that should be placed in the conference
ID field of the ARQ and SETUP messages.  This field may appear a maximum
of 1 time in the URL.  

If a conference Identifier is specified, then the conferenceGoal should 
be "join" in the outgoing SETUP message, otherwise it should be 
"create".

The token field represents a hexadecimal representation of an octet 
sequnce.  0, 1 or more token parameters may be included in a URL.

The 'l2' parameter allows for different packetisation schemes to be used
over switched network connections.  If applicable, the default is PPP.

Note that an H.323 URL with a network type of ISDN indicates that H.323 
is carried over the ISDN using a layer 2 protocol such as PPP (specified
by the 'l2' parameter).  It does not mean that the H.323 system should 
locate an H.320 gateway and use this to communicate over the ISDN.  The 
H.320 URL should be used to indicate this.

Example H.323 URLs are as follows:

h323:pete@h323.bt.com
	AliasAddress = pete, AliasAddress type = h323id, 
	destCallSignalAddress = h323.bt.com.

h323://pete@h323.bt.com
	Same as above

h323:646436@h323.bt.com
	AliasAddress = 646436, AliasAddress type = e164, 
	destCallSignalAddress = h323.bt.com.

h323:pete@	-- This form requires a gatekeeper to determine a 
	destCallSignalAddress
	AliasAddress = pete, AliasAddress type = h323id, 
	destCallSignalAddress = GK supplied.

h323:pete.bt.com
	destCallSignalAddress = pete.bt.com


h323:/tls/pete%40bt.com:email@bt.com;token=0x5435;token=0xcdfe;cid=f81d4f
bf-7dec-11d0-a765-00a0c91e6bf6
	This call should be setup over a secure TLS channel.
	AliasAddress = pete@bt.com, AliasAddress type = email-ID, 
	destCallSignalAddress = bt.com, Two tokens are supplied.  
	A conference ID is also specified.

h323:/pots/+1-515-234-5645
	H.323 over PPP over GSTN.  destCallSignalAddress = an address of an 
	H.323 over POTS gateway.  This may be gatekeeper provided.  
	+1-515-234-5645 is placed in destinationInfo part of ARQ and 
	destinationAddress part of SETUP.

lrq:pete@h323.bt.com
	Causes an LRQ to be performed first.


3.3. H.324 URL

The format of the H.324 URL is:

h324url = "h324" ":" [ "/" [ switched-network ] "/" ] phone-address

The default switched-network type is "pots".  H.324i is denoted by 
having a switch-network type of "isdn".
An example URL is:

	h324:+1-515-234-5678

or:

	h324:/isdn/+1-515-234-5679&+1-515-234-5680


3.4. H.320 URL

The format of the H.320 URL is:

	h320url = "h320" ":" phone-address

The network type is always "isdn".  An example is:

	h320:/isdn/+1-515-234-5679&+1-515-234-5680


3.5. POTS URL

The telephone number scheme for a basic voice call is defined in [4].


3.6. T.120 URL

The format of the T.120 URL is:

	t120url = "t120" ":" [ "/" [ network ] "/" ] address [t120-param-list]

The following parameters are valid: ???????


4. E-mail list

As many groups are interested in conversational URLs including SG16, 
VoIP, MMUSIC, PINT, TIPHON, URL-REG etc), a separate e-mail list has 
been set up.  You can subscribe to the list by including the word 
"subscribe" in the message body text of an e-mail sent to the address:

	h323-url-request@vocaltec.com

E-mail can be sent to the list at the following address:

	h323-url@vocaltec.com


5. Security Considerations

Umm...


6. Acknowledgements

7. References

[1]	"Service Interoperability Implementation Agreement," IMTC VoIP Forum
[2]	vCard
[3]	T. Berners-Lee, L. Masinter, M. McCahill, "Uniform Resource 
	Locators (URL)," RFC1738, December 1994.  {Editor's note: A new 
	version of RFC1738 is being produced so this reference will have 
	to be changed.}
[4]	A. Vaha-Sipila, "URLs for Telephony," 
	draft-antti-telephony-url-03.txt, 21 Nov 1997
[5]	"Call Signalling Protocols and media Stream Packetization for 
	Packet Based Multimedia Communications Systems," 
	ITU-T Recommendation H.225 Version 2, January 1998


Appendix 1 - Complete ABNF

all-urls = h323url | lrqurl | h324url | h320url | t120url

h323url = "h323" ":" [ "/" [ network ] "/" ] h323-address [ 
h323-param-list ]
lrqurl = "lrq" "://" ip-address [ h323-param-list ]
h324url = "h324" ":" [ "/" [ switched-network ] "/" ] phone-address
h320url = "h320" ":" phone-address
t120url = "t120" ":" [ "/" [ network ] "/" ] address [ t120-param-list ]

network = packet-network | switched-network
packet-network = "ip"  | "tls" | "udp" | "aal5"
switched-network = "pots" | "isdn" | "aal1"

h323-address = user-part | address | user-part address
user-part = user [ ":" type ] "@"
user = 1*alphanum		; alphanum defined in [3]
type = "e164" | "h323id" | "email"

address = ip-address | phone-address 

ip-address =  hostport		; hostport defined in [3]

phone-address = global-phone-number *[ "&" global-phone-number ]
				; global-phone-number defined in [4].  
				; H.323 endpoints do not support the
				; wait for tone pause character

h323-param-list = ";" h323-param | ";" h323-param  h323-param-list

h323-param = cid-param | token-param | l2-param
cid-param = "cid" "=" UUID	; UUID is specified in [5]
token-param = "token" "=" "0x" 1* hex 
l2-param  = "l2" "=" ( "PPP" | "MPPP" | "SLIP" )	
				; Layer 2 format

t120-param-list = ";" t120-param | ";" t120-param  t120-param-list
t120-param = {???????}


Author's Address

Pete Cordell
BT Labs
MLB 4/15
Martlesham Heath
Ipswich
IP5 3RE
UK
e-mail: pete.cordell@bt-sys.bt.co.uk


PAFTECH AB 2003-20262026-04-24 01:58:37