draft-ietf-pint-protocol-01.txt | draft-ietf-pint-protocol-02.txt | |||
---|---|---|---|---|
INTERNET-DRAFT Scott Petrack, | INTERNET-DRAFT Scott Petrack, | |||
Internet Engineering Task Force Metatel | Internet Engineering Task Force Metatel | |||
PINT Working Group Lawrence Conroy, | PINT Working Group Lawrence Conroy, | |||
Issued: 3 August 1999 Siemens Roke Manor Research | Issued: 14 October 1999 Siemens Roke Manor Research | |||
Expires: 14 January 2000 | ||||
The PINT Service Protocol: | The PINT Service Protocol: | |||
Extensions to SIP and SDP for IP Access to Telephone Call Services | Extensions to SIP and SDP for IP Access to Telephone Call Services | |||
<draft-ietf-pint-protocol-01.txt> | <draft-ietf-pint-protocol-02.txt> | |||
Status of this Memo | Status of this Memo | |||
This document is an Internet-Draft and is in full conformance with | This document is an Internet-Draft and is in full conformance with | |||
all provisions of Section 10 of RFC2026. | all provisions of Section 10 of RFC2026. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
Drafts. | Drafts. | |||
skipping to change at page 10, line ? | skipping to change at page 10, line ? | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) The Internet Society (1999). All rights reserved. | Copyright (c) The Internet Society (1999). All rights reserved. | |||
Abstract | Abstract | |||
This document contains the specification of the PINT Service Protocol 1.0, | This document contains the specification of the PINT Service Protocol 1.0, | |||
which defines a protocol for invoking certain telephone services from an IP | which defines a protocol for invoking certain telephone services from an IP | |||
network. These services include placing basic calls, sending and receiving | network. These services include placing basic calls, sending and receiving | |||
faxes, and receiving content over the telephone. The protocol is specified | faxes, and receiving content over the telephone. The protocol is specified | |||
as a set of enhancements and additions to the SIP 2.0 and SDP 2.0 protocols. | as a set of enhancements and additions to the SIP 2.0 and SDP protocols. | |||
This document is intended for the PSTN-Internet Interworking (PINT) working | This document is intended for the PSTN-Internet Interworking (PINT) working | |||
group of the Internet Engineering Task Force. Comments are solicited and | group of the Internet Engineering Task Force. Comments are solicited and | |||
should be addressed to the working group's mailing list at | should be addressed to the working group's mailing list at | |||
pint@lists.research.bell-labs.com and/or the authors. | pint@lists.research.bell-labs.com and/or the authors. | |||
Petrack & Conroy [Page 1] | Petrack & Conroy [Page 1] | |||
Contents | Contents | |||
skipping to change at page 10, line ? | skipping to change at page 10, line ? | |||
3.4. PINT Extensions to SDP 2.0 ..................................... 10 | 3.4. PINT Extensions to SDP 2.0 ..................................... 10 | |||
3.4.1. Network Type "TN" and Address Type "RFC2543" ............. 11 | 3.4.1. Network Type "TN" and Address Type "RFC2543" ............. 11 | |||
3.4.2. Support for Data Objects within PINT ..................... 11 | 3.4.2. Support for Data Objects within PINT ..................... 11 | |||
3.4.2.1. Use of fmtp attributes in PINT requests ............ 13 | 3.4.2.1. Use of fmtp attributes in PINT requests ............ 13 | |||
3.4.2.2. Support for Remote Data Object References in PINT .. 13 | 3.4.2.2. Support for Remote Data Object References in PINT .. 13 | |||
3.4.2.3. Support for GSTN-based Data Objects in PINT ........ 14 | 3.4.2.3. Support for GSTN-based Data Objects in PINT ........ 14 | |||
3.4.2.4. Session Description support for included Data Objects 15 | 3.4.2.4. Session Description support for included Data Objects 15 | |||
3.4.3. Attribute Tags to pass information into the Telephone | 3.4.3. Attribute Tags to pass information into the Telephone | |||
Network .................................................. 16 | Network .................................................. 16 | |||
3.4.3.1. The phone-context attribute ........................ 17 | 3.4.3.1. The phone-context attribute ........................ 17 | |||
3.4.3.2. Presentation Restriction attribute ................. 19 | 3.4.3..2. Presentation Restriction attribute ................. 19 | |||
3.4.3.3. ITU-T CalledPartyAddress attributes parameters ..... 19 | 3.4.3.3. ITU-T CalledPartyAddress attributes parameters ..... 19 | |||
3.4.4. The "require" attribute .................................. 20 | 3.4.4. The "require" attribute .................................. 20 | |||
3.5. PINT Extensions to SIP 2.0 ..................................... 21 | 3.5. PINT Extensions to SIP 2.0 ..................................... 21 | |||
3.5.1. Multi-part MIME (sending data along with SIP request) .... 21 | 3.5.1. Multi-part MIME (sending data along with SIP request) .... 21 | |||
3.5.2. Warning header ........................................... 22 | 3.5.2. Warning header ........................................... 22 | |||
3.5.3. Mechanism to register interest in the disposition of a PINT | 3.5.3. Mechanism to register interest in the disposition of a PINT | |||
service, and to receive indications on that disposition .. 23 | service, and to receive indications on that disposition .. 23 | |||
3.5.3.1. Opening a monitoring session with a SUBSCRIBE request 23 | 3.5.3.1. Opening a monitoring session with a SUBSCRIBE request 23 | |||
3.5.3.2. Sending Status Indications with a NOTIFY request ... 24 | 3.5.3.2. Sending Status Indications with a NOTIFY request ... 24 | |||
3.5.3.3. Closing a monitoring session with a BYE request .... 25 | 3.5.3.3. Closing a monitoring session with an UNSUBSCRIBE | |||
request ............................................ 25 | ||||
3.5.3.4. Timing of SUBSCRIBE requests ....................... 25 | 3.5.3.4. Timing of SUBSCRIBE requests ....................... 25 | |||
3.5.4. The "Require:" header for PINT ........................... 26 | 3.5.4. The "Require:" header for PINT ........................... 26 | |||
3.5.5. PINT URLs within PINT requests ........................... 26 | 3.5.5. PINT URLs within PINT requests ........................... 26 | |||
3.5.5.1. PINT URLS within Request-URIs ...................... 27 | 3.5.5.1. PINT URLS within Request-URIs ...................... 27 | |||
3.5.6. Telephony Network Parameters within PINT URLs ............ 27 | 3.5.6. Telephony Network Parameters within PINT URLs ............ 27 | |||
3.5.7. REGISTER requests within PINT ............................ 28 | 3.5.7. REGISTER requests within PINT ............................ 28 | |||
3.5.8. BYE Requests in PINT ..................................... 28 | 3.5.8. BYE Requests in PINT ..................................... 28 | |||
4. Examples of PINT Requests and Responses .............................. 30 | 4. Examples of PINT Requests and Responses .............................. 30 | |||
4.1. A request to a call centre from an anonymous user to receive a | 4.1. A request to a call centre from an anonymous user to receive a | |||
skipping to change at page 10, line ? | skipping to change at page 10, line ? | |||
Petrack & Conroy [Page 2] | Petrack & Conroy [Page 2] | |||
4.4. A request to have information read out over the phone .......... 32 | 4.4. A request to have information read out over the phone .......... 32 | |||
4.5. A request to send an included text page to a friend's pager .... 32 | 4.5. A request to send an included text page to a friend's pager .... 32 | |||
4.6. A request to send an image as a fax to phone number | 4.6. A request to send an image as a fax to phone number | |||
+972-9-956-1867 ................................................ 33 | +972-9-956-1867 ................................................ 33 | |||
4.7. A request to read out over the phone two pieces of content in | 4.7. A request to read out over the phone two pieces of content in | |||
sequence ....................................................... 33 | sequence ....................................................... 33 | |||
4.8. Request for the prices for ISDN to be sent to my fax machine ... 34 | 4.8. Request for the prices for ISDN to be sent to my fax machine ... 34 | |||
4.9. Request for a callback ......................................... 34 | 4.9. Request for a callback ......................................... 34 | |||
4.10.Sending a set of information in response to an enquiry ......... 34 | 4.10.Sending a set of information in response to an enquiry ......... 35 | |||
4.11.Sportsline "headlines" message sent to your phone/fax/pager .... 35 | 4.11.Sportsline "headlines" message sent to your phone/fax/pager .... 35 | |||
4.12.Automatically giving someone a fax copy of your phone bill ..... 36 | 4.12.Automatically giving someone a fax copy of your phone bill ..... 37 | |||
5. Security Considerations .............................................. 37 | 5. Security Considerations .............................................. 38 | |||
5.1. Basic Principles for PINT Use ................................. 37 | 5.1. Basic Principles for PINT Use ................................. 38 | |||
5.1.1. Responsibility for service requests ..................... 37 | 5.1.1. Responsibility for service requests ..................... 38 | |||
5.1.2. Authority to make requests .............................. 37 | 5.1.2. Authority to make requests .............................. 38 | |||
5.1.3. Privacy ................................................. 38 | 5.1.3. Privacy ................................................. 39 | |||
5.1.4. Privacy Implications of SUBSCRIBE/NOTIFY ................ 38 | 5.1.4. Privacy Implications of SUBSCRIBE/NOTIFY ................ 39 | |||
5.2. Registration Procedures ....................................... 39 | 5.2. Registration Procedures ....................................... 40 | |||
5.3. Security mechanisms and implications on PINT service .......... 39 | 5.3. Security mechanisms and implications on PINT service .......... 40 | |||
5.4. Summary of Security Implications .............................. 41 | 5.4. Summary of Security Implications .............................. 42 | |||
6. Deployment considerations and the Relationship PINT to I.N. | 6. Deployment considerations and the Relationship PINT to I.N. | |||
(Informative) ........................................................ 43 | (Informative) ........................................................ 44 | |||
6.1. Web Front End to PINT Infrastructure ........................... 43 | 6.1. Web Front End to PINT Infrastructure ........................... 44 | |||
6.2. Redirects to Multiple Gateways ................................. 43 | 6.2. Redirects to Multiple Gateways ................................. 44 | |||
6.3. Competing PINT Gateways REGISTERing to offer the same service .. 44 | 6.3. Competing PINT Gateways REGISTERing to offer the same service .. 45 | |||
6.4. Limitations on Available Information and Request Timing for | 6.4. Limitations on Available Information and Request Timing for | |||
SUBSCRIBE ...................................................... 45 | SUBSCRIBE ...................................................... 46 | |||
6.5. Parameters needed for invoking traditional PSTN Services within | 6.5. Parameters needed for invoking traditional GSTN Services within | |||
PINT ........................................................... 46 | PINT ........................................................... 47 | |||
6.5.1. Service Identifier ....................................... 46 | 6.5.1. Service Identifier ....................................... 47 | |||
6.5.2. A and B parties .......................................... 46 | 6.5.2. A and B parties .......................................... 47 | |||
6.5.3. Other Service Parameters ................................. 47 | 6.5.3. Other Service Parameters ................................. 48 | |||
6.5.4. Service Parameter Summary ................................ 47 | 6.5.4. Service Parameter Summary ................................ 48 | |||
6.6. Parameter Mapping to PINT Extensions............................ 48 | 6.6. Parameter Mapping to PINT Extensions............................ 49 | |||
7. Open Issues and Draft State .......................................... 50 | 7. Open Issues and Draft State .......................................... 51 | |||
7.1. Open Issues .................................................... 50 | 7.1. Open Issues .................................................... 51 | |||
7.2. Draft State .................................................... 50 | 7.2. Draft State .................................................... 51 | |||
8. References ........................................................... 52 | 8. References ........................................................... 51 | |||
9. Acknowledgements ..................................................... 53 | 9. Acknowledgements ..................................................... 52 | |||
Appendix A: Collected ABNF for PINT Extensions .......................... 54 | Appendix A: Collected ABNF for PINT Extensions .......................... 53 | |||
Appendix B: IANA Considerations ......................................... 59 | Appendix B: IANA Considerations ......................................... 58 | |||
Appendix C: Authors' Addresses .......................................... 61 | Appendix C: Authors' Addresses .......................................... 60 | |||
Petrack & Conroy [Page 3] | Petrack & Conroy [Page 3] | |||
1. Introduction | 1. Introduction | |||
The desire to invoke certain telephone call services from the Internet has | The desire to invoke certain telephone call services from the Internet has | |||
been identified by many different groups (users, public and private network | been identified by many different groups (users, public and private network | |||
operators, call center service providers, equipment vendors, see [7]). The | operators, call center service providers, equipment vendors, see [7]). The | |||
generic scenario is as follows (when the invocation is successful): | generic scenario is as follows (when the invocation is successful): | |||
skipping to change at page 10, line ? | skipping to change at page 10, line ? | |||
2. the server relays the request into a telephone network; | 2. the server relays the request into a telephone network; | |||
3. the telephone network performs the requested call service. | 3. the telephone network performs the requested call service. | |||
As examples, consider a user who wishes to have a call placed to his/her | As examples, consider a user who wishes to have a call placed to his/her | |||
telephone. It may be that a customer wishes to get a call from the support | telephone. It may be that a customer wishes to get a call from the support | |||
department of some business, or a user wishes to hear some remote automatic | department of some business, or a user wishes to hear some remote automatic | |||
weather service via recorded or synthesised speech. Within a local | weather service via recorded or synthesised speech. Within a local | |||
environment such a request might result in the placement of a call between | environment such a request might result in the placement of a call between | |||
employees over the internal PBX. | employees over the internal PBX. | |||
We use the term "PSTN/Internet Interworking (PINT) Service" to denote such a | We use the term "PSTN/Internet Interworking (PINT) Service" to denote such | |||
complete transaction, starting with the sending of a request from an IP | a complete transaction, starting with the sending of a request from an IP | |||
client and including the telephone call itself. PINT services are | client and including the telephone call itself. PINT services are | |||
distinguished by the fact that they always involve two separate networks: an | distinguished by the fact that they always involve two separate networks: | |||
IP network to request the placement of a call, and a telephone network to | an IP network to request the placement of a call, and the Global Switched | |||
execute the actual call. It is understood that Intelligent Network systems, | Telephone Network (GSTN) to execute the actual call. It is understood that | |||
private PBXs, cellular phone networks, and the ISDN can all be used to | Intelligent Network systems, private PBXs, cellular phone networks, and | |||
deliver PINT services. Also, the request for service might come from within | the ISDN can all be used to deliver PINT services. Also, the request for | |||
a private IP network that is disconnected from the whole Internet. | service might come from within a private IP network that is disconnected | |||
from the whole Internet. | ||||
*-*- | ||||
The requirements for the PINT protocol were deliberately restricted to | The requirements for the PINT protocol were deliberately restricted to | |||
providing the ability to invoke a small number of fixed telephone call | providing the ability to invoke a small number of fixed telephone call | |||
services. These "Milestone PINT services" are specified in section 2. Great | services. These "Milestone PINT services" are specified in section 2. Great | |||
care has been taken, however, to develop a protocol that is aligned with | care has been taken, however, to develop a protocol that is aligned with | |||
other Internet protocols where possible, so that future extensions to PINT | other Internet protocols where possible, so that future extensions to PINT | |||
could develop along with Internet conferencing. | could develop along with Internet conferencing. | |||
Within the Internet conference architecture, establishing media calls is | Within the Internet conference architecture, establishing media calls is | |||
done via a combination of protocols. SIP [1] is used to establish the | done via a combination of protocols. SIP [1] is used to establish the | |||
association between the participants within the call (this association | association between the participants within the call (this association | |||
skipping to change at page 10, line ? | skipping to change at page 10, line ? | |||
established is no guarantee that the media will be successfully transported. | established is no guarantee that the media will be successfully transported. | |||
(This is analogous to the fact that if a SIP invitation is accepted | (This is analogous to the fact that if a SIP invitation is accepted | |||
successfully, this is no guarantee against a subsequent failure of audio | successfully, this is no guarantee against a subsequent failure of audio | |||
hardware). | hardware). | |||
The particular requirements of PINT users lead to some new messages. When a | The particular requirements of PINT users lead to some new messages. When a | |||
PINT server agrees to send a fax to telephone B, it may be that the fax | PINT server agrees to send a fax to telephone B, it may be that the fax | |||
transmission fails after part of the fax is sent. Therefore, the PINT client | transmission fails after part of the fax is sent. Therefore, the PINT client | |||
may wish to receive information about the status of the actual telephone | may wish to receive information about the status of the actual telephone | |||
call session that was invoked as a result of the established PINT session. | call session that was invoked as a result of the established PINT session. | |||
Two new requests, SUBSCRIBE and NOTIFY, are added here to vanilla SIP to | Three new requests, SUBSCRIBE, UNSIUBSCRIBE, and NOTIFY, are added here | |||
allow this. | to vanilla SIP to allow this. | |||
The enhancements and additions specified here are not intended to alter the | The enhancements and additions specified here are not intended to alter the | |||
behaviour of baseline SIP or SDP in any way. The purpose of PINT extension | behaviour of baseline SIP or SDP in any way. The purpose of PINT extension | |||
is to extend the usual SIP/SDP services to the telephone world. Apart from | is to extend the usual SIP/SDP services to the telephone world. Apart from | |||
integrating well into existing protocols and architectures, and the | integrating well into existing protocols and architectures, and the | |||
advantages of reuse, this means that the protocol specified here can handle | advantages of reuse, this means that the protocol specified here can handle | |||
a rather wider class of call services than just the Milestone services. | a rather wider class of call services than just the Milestone services. | |||
The rest of this document is organised as follows: Section 2 describes the | The rest of this document is organised as follows: Section 2 describes the | |||
PINT Milestone services; section 3 specifies the PINT functional | PINT Milestone services; section 3 specifies the PINT functional | |||
skipping to change at page 10, line ? | skipping to change at page 10, line ? | |||
expressed within a PINT request. For example, it is possible to use the SDP | expressed within a PINT request. For example, it is possible to use the SDP | |||
"lang" attribute to express a language preference for the | "lang" attribute to express a language preference for the | |||
Request-to-Hear-Content Service. If a particular PINT system wishes to | Request-to-Hear-Content Service. If a particular PINT system wishes to | |||
allow requests to contain details of the telephone-network-side service, it | allow requests to contain details of the telephone-network-side service, it | |||
uses the SDP attribute mechanism (see section 3.4.2). | uses the SDP attribute mechanism (see section 3.4.2). | |||
3. PINT Functional and Protocol Architecture | 3. PINT Functional and Protocol Architecture | |||
3.1. PINT Functional Architecture | 3.1. PINT Functional Architecture | |||
Familiarity is assumed with SIP 2.0 [1] and with SDP 2.0 [2]. | Familiarity is assumed with SIP 2.0 [1] and with SDP [2]. | |||
-.-. | ||||
PINT clients and servers are SIP clients and servers. SIP is used to carry | PINT clients and servers are SIP clients and servers. SIP is used to carry | |||
the request over the IP network to the correct PINT server in a secure and | the request over the IP network to the correct PINT server in a secure and | |||
reliable manner, and SDP is used to describe the telephone network session | reliable manner, and SDP is used to describe the telephone network session | |||
that is to be invoked or whose status is to be returned. | that is to be invoked or whose status is to be returned. | |||
A PINT system uses SIP proxy servers and redirect servers for their usual | A PINT system uses SIP proxy servers and redirect servers for their usual | |||
purpose, but at some point there must be a PINT server with the means to | purpose, but at some point there must be a PINT server with the means to | |||
relay received requests into a telephone system and to receive | relay received requests into a telephone system and to receive | |||
acknowledgement of these relayed requests. A PINT server with this | acknowledgement of these relayed requests. A PINT server with this | |||
capability is called a "PINT gateway". A PINT gateway appears to a SIP | capability is called a "PINT gateway". A PINT gateway appears to a SIP | |||
skipping to change at page 10, line ? | skipping to change at page 10, line ? | |||
both the office LAN and the office PBX. | both the office LAN and the office PBX. | |||
The Executive System that lies beyond the PINT gateway is outside the scope | The Executive System that lies beyond the PINT gateway is outside the scope | |||
of PINT. | of PINT. | |||
3.2. PINT Protocol Architecture | 3.2. PINT Protocol Architecture | |||
This section explains how SIP and SDP work in combination to convey the | This section explains how SIP and SDP work in combination to convey the | |||
information necessary to invoke telephone network sessions. | information necessary to invoke telephone network sessions. | |||
*-*- -.-. | ||||
The following list summarises the extension features used in PINT 1.0. | The following list summarises the extension features used in PINT 1.0. | |||
Following on from this the features are considered separately for SDP and | Following on from this the features are considered separately for SDP and | |||
then for SIP: | then for SIP: | |||
1) Telephony URLs in SDP Contact Fields | 1) Telephony URLs in SDP Contact Fields | |||
2) Refinement of SIP/SDP Telephony URLs | 2) Refinement of SIP/SDP Telephony URLs | |||
* Inclusion of private dialling plans | * Inclusion of private dialling plans | |||
3) Specification of Telephone Service Provider (TSP) and/or | 3) Specification of Telephone Service Provider (TSP) and/or | |||
phone-context URL-parameters | phone-context URL-parameters | |||
4) Data Objects as session media | 4) Data Objects as session media | |||
4a) Protocol Transport formats to indicate the treatment of the media | 4a) Protocol Transport formats to indicate the treatment of the media | |||
within the PSTN | within the GSTN | |||
5) Implicit (Indirect) media streams and opaque arguments | 5) Implicit (Indirect) media streams and opaque arguments | |||
6) In-line data objects using multipart/mime | 6) In-line data objects using multipart/mime | |||
7) Refinement/Clarification of Opaque arguments passed onwards to Executive | 7) Refinement/Clarification of Opaque arguments passed onwards to Executive | |||
Systems | Systems | |||
* Framework for Presentation Restriction Indication | * Framework for Presentation Restriction Indication | |||
* Framework for Q.763 arguments | * Framework for Q.763 arguments | |||
8) An extension mechanism for SDP to specify strictures and force | 8) An extension mechanism for SDP to specify strictures and force | |||
failure when a recipient does NOT support the specified extensions, | failure when a recipient does NOT support the specified extensions, | |||
using "require" headers. | using "require" headers. | |||
9) Mandatory support for "Warning" headers to give more detailed | 9) Mandatory support for "Warning" headers to give more detailed | |||
information on request disposition. | information on request disposition. | |||
10) Mechanism to register interest in the disposition of a requested | 10) Mechanism to register interest in the disposition of a requested | |||
service, and to receive indications on that disposition. | service, and to receive indications on that disposition. | |||
-*-* | ||||
Both PINT and SIP rely on features of MIME[4]. The use of SIP 2.0 is implied | Both PINT and SIP rely on features of MIME[4]. The use of SIP 2.0 is implied | |||
by PINT 1.0, and this also implies compliance with version 1.0 of MIME. | by PINT 1.0, and this also implies compliance with version 1.0 of MIME. | |||
Petrack & Conroy [Page 8] | Petrack & Conroy [Page 8] | |||
*-*- | ||||
3.2.1. SDP operation in PINT | 3.2.1. SDP operation in PINT | |||
The SDP payload contains a description of the particular telephone network | The SDP payload contains a description of the particular telephone network | |||
session that the requestor wishes to occur in the PSTN. This information | session that the requestor wishes to occur in the GSTN. This information | |||
includes such things as the telephone network address (i.e. the "telephone | includes such things as the telephone network address (i.e. the "telephone | |||
number") of the terminal(s) involved in the call, an indication of the media | number") of the terminal(s) involved in the call, an indication of the media | |||
type to be transported (e.g. audio, text, image or application data), and an | type to be transported (e.g. audio, text, image or application data), and an | |||
indication if the information is to be transported over the telephone | indication if the information is to be transported over the telephone | |||
network via voice, fax, or pager transport. An indication of the content to | network via voice, fax, or pager transport. An indication of the content to | |||
be sent to the remote telephone terminal (if there is any) is also included. | be sent to the remote telephone terminal (if there is any) is also included. | |||
SDP is flexible enough to convey these parameters independently. For | SDP is flexible enough to convey these parameters independently. For | |||
example, a request to send some text via voice transport will be fulfilled | example, a request to send some text via voice transport will be fulfilled | |||
by invoking some text-to-speech-over-the-phone service, and a request to | by invoking some text-to-speech-over-the-phone service, and a request to | |||
send text via fax will be fulfilled by invoking some text-to-fax service. | send text via fax will be fulfilled by invoking some text-to-fax service. | |||
The following is a list of PINT 1.0 enhancements and additions to SDP. | The following is a list of PINT 1.0 enhancements and additions to SDP. | |||
-.-. | ||||
a. A new network type "TN" and address types "RFC2543" and "X-..." | a. A new network type "TN" and address types "RFC2543" and "X-..." | |||
(section 3.4.1) | (section 3.4.1) | |||
b. New media types "text", "image", and "application", | b. New media types "text", "image", and "application", | |||
new protocol transport keywords "voice", "fax" and | new protocol transport keywords "voice", "fax" and | |||
"pager" and the associated format types and attribute tags | "pager" and the associated format types and attribute tags | |||
(section 3.4.2) | (section 3.4.2) | |||
c. New format specific attributes for included content data | c. New format specific attributes for included content data | |||
(section 3.4.2.4) | (section 3.4.2.4) | |||
d. New attribute tags, used to pass information to the telephone | d. New attribute tags, used to pass information to the telephone | |||
network (section 3.4.3) | network (section 3.4.3) | |||
e. A new attribute tag "require", used by a client to indicate that | e. A new attribute tag "require", used by a client to indicate that | |||
some attribute is required to be supported in the server | some attribute is required to be supported in the server | |||
(section 3.4.4) | (section 3.4.4) | |||
*-*- | ||||
3.2.2. SIP Operation in PINT | 3.2.2. SIP Operation in PINT | |||
SIP is used to carry the request for telephone service from the PINT client | SIP is used to carry the request for telephone service from the PINT client | |||
to the PINT gateway, and may include a telephone number if needed for the | to the PINT gateway, and may include a telephone number if needed for the | |||
particular service. The following is a complete list of PINT enhancements | particular service. The following is a complete list of PINT enhancements | |||
and additions to SIP: | and additions to SIP: | |||
f. The multipart MIME payloads (section 3.5.1) | f. The multipart MIME payloads (section 3.5.1) | |||
g. Mandatory support for "Warning:" headers (section 3.5.2) | g. Mandatory support for "Warning:" headers (section 3.5.2) | |||
h. The SUBSCRIBE and NOTIFY requests (section 3.5.3) | h. The SUBSCRIBE and NOTIFY, and UNSUBSCRIBE requests (section 3.5.3) | |||
i. Require: headers (section 3.5.4) | i. Require: headers (section 3.5.4) | |||
j. A format for PINT URLS within a PINT request (section 3.5.5) | j. A format for PINT URLS within a PINT request (section 3.5.5) | |||
k. Telephone Network Parameters within PINT URLs (section 3.5.6) | k. Telephone Network Parameters within PINT URLs (section 3.5.6) | |||
*-*- | ||||
Section 3.5.8 contains remarks about how BYE requests are used within PINT. | Section 3.5.8 contains remarks about how BYE requests are used within PINT. | |||
This is not an extension to baseline SIP; it is included here only for | This is not an extension to baseline SIP; it is included here only for | |||
clarification of the semantics when used with telephone network sessions. | clarification of the semantics when used with telephone network sessions. | |||
Petrack & Conroy [Page 9] | Petrack & Conroy [Page 9] | |||
3.3. REQUIRED and OPTIONAL elements for PINT compliance | 3.3. REQUIRED and OPTIONAL elements for PINT compliance | |||
*-*- | ||||
Of these, only the TN network type (with its associated RFC2543 address | Of these, only the TN network type (with its associated RFC2543 address | |||
type) and the "require" attribute MUST be supported by PINT 1.0 clients | type) and the "require" attribute MUST be supported by PINT 1.0 clients | |||
and servers. In practice, most PINT service requests will use other changes, | and servers. In practice, most PINT service requests will use other changes, | |||
of which references to Data Objects in requests are most likely to appear | of which references to Data Objects in requests are most likely to appear | |||
in PINT requests. | in PINT requests. | |||
Each of the other new PINT constructs enables a different function, and a | Each of the other new PINT constructs enables a different function, and a | |||
client or server that wishes to enable that particular function MUST do so | client or server that wishes to enable that particular function MUST do so | |||
by the construct specified in this document. For example, building a PINT | by the construct specified in this document. For example, building a PINT | |||
client and server that provide only the Request-to-Call telephone call | client and server that provide only the Request-to-Call telephone call | |||
service, without support for the other Milestone services, is allowed. | service, without support for the other Milestone services, is allowed. | |||
-.-. | ||||
The "Require:" SIP header and the "require" attribute provide a mechanism | The "Require:" SIP header and the "require" attribute provide a mechanism | |||
that can be used by clients and servers to signal their need and/or | that can be used by clients and servers to signal their need and/or | |||
ability to support specific "new" PINT protocol elements. | ability to support specific "new" PINT protocol elements. | |||
It should be noted that many optional features of SIP and SDP make sense as | It should be noted that many optional features of SIP and SDP make sense as | |||
specified in the PINT context. One example is the SDP a=lang: attribute, | specified in the PINT context. One example is the SDP a=lang: attribute, | |||
which can be used to describe the preferred language of the callee. Another | which can be used to describe the preferred language of the callee. Another | |||
example is the use of the "t=" parameter to indicate that the time at which | example is the use of the "t=" parameter to indicate that the time at which | |||
the PINT service is to be invoked. This is the normal use of the "t=" field. | the PINT service is to be invoked. This is the normal use of the "t=" field. | |||
A third example is the quality attributes. Any SIP or SDP option or | A third example is the quality attributes. Any SIP or SDP option or | |||
facility is available to PINT clients and servers without change. | facility is available to PINT clients and servers without change. | |||
*-*- | ||||
Conversely, support for Data Objects within Internet Conference sessions may | Conversely, support for Data Objects within Internet Conference sessions may | |||
be useful, even if the aim is not to provide a PSTN service request. In this | be useful, even if the aim is not to provide a GSTN service request. In this | |||
case, the extensions covering these items may be incorporated into an | case, the extensions covering these items may be incorporated into an | |||
otherwise "plain" SIP/SDP invitation. Likewise, support for SDP "require" | otherwise "plain" SIP/SDP invitation. Likewise, support for SDP "require" | |||
may be useful, as a framework for addition of features to a "traditional" | may be useful, as a framework for addition of features to a "traditional" | |||
SIP/SDP infrastructure. Again, these may be convenient to incorporate into | SIP/SDP infrastructure. Again, these may be convenient to incorporate into | |||
SIP/SDP implementations that would not be used for PINT service requests. | SIP/SDP implementations that would not be used for PINT service requests. | |||
Such additions are beyond the scope of this document, however. | Such additions are beyond the scope of this document, however. | |||
3.4. PINT Extensions to SDP 2.0 | 3.4. PINT Extensions to SDP | |||
PINT 1.0 adds to SDP the possibility to describe audio, fax, and pager | PINT 1.0 adds to SDP the possibility to describe audio, fax, and pager | |||
telephone sessions. It is deliberately designed to hide the underlying | telephone sessions. It is deliberately designed to hide the underlying | |||
technical details and complexity of the telephone network. The only network | technical details and complexity of the telephone network. The only network | |||
type defined for PINT is the generic "TN" (Telephone Network). More precise | type defined for PINT is the generic "TN" (Telephone Network). More precise | |||
tags such as "ISDN", "GSM", are not defined. Similarly, the transport | tags such as "ISDN", "GSM", are not defined. Similarly, the transport | |||
protocols are designated simply as "fax", "voice", and "pager"; there are no | protocols are designated simply as "fax", "voice", and "pager"; there are no | |||
more specific identifiers for the various telephone network voice, fax, or | more specific identifiers for the various telephone network voice, fax, or | |||
pager protocols. Similarly, the data to be transported is identified only as | pager protocols. Similarly, the data to be transported is identified only as | |||
a MIME type, such as "text" data, "image" data, or some more general | a MIME type, such as "text" data, "image" data, or some more general | |||
skipping to change at page 11, line 14 | skipping to change at page 11, line 14 | |||
This section gives details of the new SDP keywords. | This section gives details of the new SDP keywords. | |||
3.4.1. Network Type "TN" and Address Type "RFC2543" | 3.4.1. Network Type "TN" and Address Type "RFC2543" | |||
The TN ("Telephone Network") network type is used to indicate that the | The TN ("Telephone Network") network type is used to indicate that the | |||
terminal is connected to a telephone network. | terminal is connected to a telephone network. | |||
The address types allowed for network type TN are "RFC2543" and private | The address types allowed for network type TN are "RFC2543" and private | |||
address types, which MUST begin with an "X-". | address types, which MUST begin with an "X-". | |||
-.-. | ||||
Address type RFC2543 is followed by a string conforming to a subset of the | Address type RFC2543 is followed by a string conforming to a subset of the | |||
"telephone-subscriber" BNF specified in RFC2543, (this is specified in | "telephone-subscriber" BNF specified in RFC2543, (this is specified in | |||
figure 4 of SIP [1]). Note that this BNF is NOT identical to the BNF that | figure 4 of SIP [1]). Note that this BNF is NOT identical to the BNF that | |||
defines the "phone-number" within the "p=" field of SDP. | defines the "phone-number" within the "p=" field of SDP. | |||
Examples: | Examples: | |||
c= TN RFC2543 +1-201-406-4090 | c= TN RFC2543 +1-201-406-4090 | |||
c= TN RFC2543 12014064090 | c= TN RFC2543 12014064090 | |||
*-*- | ||||
A telephone-subscriber string is of one of two types: global-phone-number or | A telephone-subscriber string is of one of two types: global-phone-number or | |||
local-phone-number. These are distinguished by preceeding a | local-phone-number. These are distinguished by preceeding a | |||
global-phone-number with a "plus" sign ("+"). A global-phone-number is by | global-phone-number with a "plus" sign ("+"). A global-phone-number is by | |||
default to be interpreted as an internationally significant E.164 Number | default to be interpreted as an internationally significant E.164 Number | |||
Plan Address, as defined by [6], whilst a local-phone-number is a number | Plan Address, as defined by [6], whilst a local-phone-number is a number | |||
specified in the default dialling plan within the context of the recipient | specified in the default dialling plan within the context of the recipient | |||
PINT Gateway. | PINT Gateway. | |||
An implementation MAY use private addressing types, which can be useful | An implementation MAY use private addressing types, which can be useful | |||
within a local domain. These address types MUST begin with an "X-", and | within a local domain. These address types MUST begin with an "X-", and | |||
skipping to change at page 11, line 49 | skipping to change at page 11, line 48 | |||
c= TN X-mytype.mydomain.com A*8-HELEN | c= TN X-mytype.mydomain.com A*8-HELEN | |||
where "X-mytype.mydomain.com" identifies this private address type, and | where "X-mytype.mydomain.com" identifies this private address type, and | |||
"A*8-HELEN" is the number in this format. Such a format is defined as an | "A*8-HELEN" is the number in this format. Such a format is defined as an | |||
"OtherAddr" in the ABNF of Appendix A. | "OtherAddr" in the ABNF of Appendix A. | |||
Note that most dialable telephone numbers are expressable as | Note that most dialable telephone numbers are expressable as | |||
local-phone-numbers within address RFC2543; new address types should only be | local-phone-numbers within address RFC2543; new address types should only be | |||
used for formats which cannot be so written. | used for formats which cannot be so written. | |||
*-*- | ||||
3.4.2. Support for Data Objects within PINT | 3.4.2. Support for Data Objects within PINT | |||
One significant change over traditional SIP/SDP Internet Conference sessions | One significant change over traditional SIP/SDP Internet Conference sessions | |||
with PINT is that a PINT service request may refer to a Data Object to be | with PINT is that a PINT service request may refer to a Data Object to be | |||
used as source information in that request. For example, a PINT service | used as source information in that request. For example, a PINT service | |||
request may specify a document to be processed as part of a GSTN service by | request may specify a document to be processed as part of a GSTN service by | |||
which a Fax is sent. Similarly, a GSTN service may be take a Web page and | which a Fax is sent. Similarly, a GSTN service may be take a Web page and | |||
result in a vocoder processing that page and speaking the contents over a | result in a vocoder processing that page and speaking the contents over a | |||
telephone. | telephone. | |||
skipping to change at page 12, line 28 | skipping to change at page 12, line 28 | |||
media-field = "m=" media space port ["/" integer] | media-field = "m=" media space port ["/" integer] | |||
space proto 1*(space fmt) CRLF | space proto 1*(space fmt) CRLF | |||
When used within PINT requests, the definition of the sub-fields is | When used within PINT requests, the definition of the sub-fields is | |||
expanded slightly. | expanded slightly. | |||
The Media sub-field definition is relaxed to accept all of the discrete | The Media sub-field definition is relaxed to accept all of the discrete | |||
"top-level" media types defined in [4]. In the milestone services the | "top-level" media types defined in [4]. In the milestone services the | |||
discrete type "video" is not used, and the extra types "data" and "control" | discrete type "video" is not used, and the extra types "data" and "control" | |||
are likewise not needed. The use of these types is not precluded, but the | are likewise not needed. The use of these types is not precluded, but the | |||
behaviour expected of a PINT Gateway receiving a request including such a | behaviour expected of a PINT Gateway receiving a request including such a | |||
type is not defined here. | type is not defined here. | |||
-.-. | ||||
The Port sub-field has no meaning in PINT requests as the destination | The Port sub-field has no meaning in PINT requests as the destination | |||
terminals are specified using "TN" addressing, so the value of the port | terminals are specified using "TN" addressing, so the value of the port | |||
sub-field in PINT requests is normally set to "1". A value of "0" may | sub-field in PINT requests is normally set to "1". A value of "0" may | |||
be used as in SDP to indicate that the terminal is not receiving media. | be used as in SDP to indicate that the terminal is not receiving media. | |||
This is useful to indicate that a telephone terminal has gone "on hold" | This is useful to indicate that a telephone terminal has gone "on hold" | |||
temporarily. Likewise, the optional integer sub-field is not used in PINT. | temporarily. Likewise, the optional integer sub-field is not used in PINT. | |||
As mentioned in [2], the Transport Protocol sub-field is specific to the | As mentioned in [2], the Transport Protocol sub-field is specific to the | |||
associated Address Type. In the case that the Address Type in the preceeding | associated Address Type. In the case that the Address Type in the preceeding | |||
Contact field is one of those defined for use with the Network Type "TN", | Contact field is one of those defined for use with the Network Type "TN", | |||
skipping to change at page 12, line 53 | skipping to change at page 12, line 53 | |||
or disposition of the resulting GSTN service. Thus, for transport protocol | or disposition of the resulting GSTN service. Thus, for transport protocol | |||
"voice", the intent is that the service will result in a GSTN voice call, | "voice", the intent is that the service will result in a GSTN voice call, | |||
whilst for protocol "fax" the result will be a GSTN fax transmission, and | whilst for protocol "fax" the result will be a GSTN fax transmission, and | |||
protocol "pager" will result in a pager message being sent. | protocol "pager" will result in a pager message being sent. | |||
Note that this sub-field does not necessarily dictate the media type and | Note that this sub-field does not necessarily dictate the media type and | |||
subtype of any source data; for example, one of the milestone services calls | subtype of any source data; for example, one of the milestone services calls | |||
for a textual source to be vocoded and spoken in a resulting telephone | for a textual source to be vocoded and spoken in a resulting telephone | |||
service call. The transport protocol value in this case would be "voice", | service call. The transport protocol value in this case would be "voice", | |||
whilst the media type would be "text". | whilst the media type would be "text". | |||
-.-. | ||||
The Fmt sub-field is described in [2] as being transport protocol-specific. | The Fmt sub-field is described in [2] as being transport protocol-specific. | |||
When used within PINT requests having one of the above protocol values, | When used within PINT requests having one of the above protocol values, | |||
this sub-field consists of a list of one or more values, each of which is | this sub-field consists of a list of one or more values, each of which is | |||
a defined MIME sub-type of the associated Media sub-field value. The | a defined MIME sub-type of the associated Media sub-field value. The | |||
special value "-" is allowed, meaning that there is no MIME sub-type. | special value "-" is allowed, meaning that there is no MIME sub-type. | |||
This sub-field retains (from [2]) its meaning that the list will contain | This sub-field retains (from [2]) its meaning that the list will contain | |||
a set of alternative sub-types, with the first being the preferred value. | a set of alternative sub-types, with the first being the preferred value. | |||
-.-. | ||||
For experimental purposes and by mutual consent of the sender and recipient, | For experimental purposes and by mutual consent of the sender and recipient, | |||
a sub-type value may be specified as an <X-token>, i.e. a character string | a sub-type value may be specified as an <X-token>, i.e. a character string | |||
starting with "X-". The use of such values is discouraged, and if such a | starting with "X-". The use of such values is discouraged, and if such a | |||
value is expected to find common use then it SHOULD be registered with IANA | value is expected to find common use then it SHOULD be registered with IANA | |||
using the standard content type registration process (see Appendix C). | using the standard content type registration process (see Appendix C). | |||
-.-. | ||||
When the Fmt parameter is the single character "-" ( a dash ), this is | When the Fmt parameter is the single character "-" ( a dash ), this is | |||
interpreted as meaning that a unspecified or default sub-type should be used | interpreted as meaning that a unspecified or default sub-type should be used | |||
for this service. Thus, the media field value "m=audio 1 voice -<CRLF>" is | for this service. Thus, the media field value "m=audio 1 voice -<CRLF>" is | |||
taken to mean that a voice call is requested, using whatever audio sub type | taken to mean that a voice call is requested, using whatever audio sub type | |||
is deemed appropriate by the Executive System. PINT service is a special | is deemed appropriate by the Executive System. PINT service is a special | |||
case, in that the request comes from the IP network but the service call is | case, in that the request comes from the IP network but the service call is | |||
provided within the GSTN. Thus the service request will not normally be able | provided within the GSTN. Thus the service request will not normally be able | |||
to define the particular codec used for the resulting GSTN service call. If | to define the particular codec used for the resulting GSTN service call. If | |||
such an intent IS required, then the quality attribute may be used (see | such an intent IS required, then the quality attribute may be used (see | |||
"Suggested Attributes" section of [2]). | "Suggested Attributes" section of [2]). | |||
skipping to change at page 15, line 16 | skipping to change at page 15, line 16 | |||
could, for example, be needed to authorise access to a document held on the | could, for example, be needed to authorise access to a document held on the | |||
GSTN rather than being required merely to disambiguate the data object. The | GSTN rather than being required merely to disambiguate the data object. The | |||
purpose to which an opaque reference is put, however, is out of scope for | purpose to which an opaque reference is put, however, is out of scope for | |||
this document. It is merely an indicator carried within a PINT Request. | this document. It is merely an indicator carried within a PINT Request. | |||
An opaque reference may have no value in the case where the value to be used | An opaque reference may have no value in the case where the value to be used | |||
is implicit in the rest of the request. For example, suppose some company | is implicit in the rest of the request. For example, suppose some company | |||
wishes to use PINT to implement a "fax-back service". In their current | wishes to use PINT to implement a "fax-back service". In their current | |||
implementation, the image(s) to be faxed are entirely defined by the | implementation, the image(s) to be faxed are entirely defined by the | |||
telephone number dialled. Within the PINT request, this telephone number | telephone number dialled. Within the PINT request, this telephone number | |||
would appear within the "to:" field of the PINT request, and so there | would appear within the "To:" field of the PINT request, and so there | |||
is no need for an opaque reference value. | is no need for an opaque reference value. | |||
If there are several resolutions for a PINT Service Request, and one of | If there are several resolutions for a PINT Service Request, and one of | |||
these is an opaque reference with no value, then that opaque reference MUST | these is an opaque reference with no value, then that opaque reference MUST | |||
be included in the attribute line, but with an empty value field. | be included in the attribute line, but with an empty value field. | |||
For example: | For example: | |||
c= TN RFC2543 +1-201-406-4090 | c= TN RFC2543 +1-201-406-4090 | |||
m= text 1 fax plain | m= text 1 fax plain | |||
a=fmtp:plain spr:<Content-ID> opr: | a=fmtp:plain spr:<Content-ID> opr: | |||
skipping to change at page 15, line 44 | skipping to change at page 15, line 44 | |||
further resolution. | further resolution. | |||
For example: | For example: | |||
c= TN RFC2543 +1-201-406-4090 | c= TN RFC2543 +1-201-406-4090 | |||
m= text 1 fax - | m= text 1 fax - | |||
means that there is an implied content stored on the GSTN, and that this is | means that there is an implied content stored on the GSTN, and that this is | |||
uniquely identified by the combination of SIP To-URI and the Contact field | uniquely identified by the combination of SIP To-URI and the Contact field | |||
of the session description. | of the session description. | |||
*-*- | ||||
3.4.2.4. Session Description support for included Data Objects | 3.4.2.4. Session Description support for included Data Objects | |||
As an alternative to pointing to the data via a URI or an opaque reference | As an alternative to pointing to the data via a URI or an opaque reference | |||
to a data item held on the GSTN, it is possible to include the content data | to a data item held on the GSTN, it is possible to include the content data | |||
within the SIP request itself. This is done by using multipart MIME for the | within the SIP request itself. This is done by using multipart MIME for the | |||
SIP payload. The first MIME part contains the SDP description of the | SIP payload. The first MIME part contains the SDP description of the | |||
telephone network session to be executed. The other MIME parts contain the | telephone network session to be executed. The other MIME parts contain the | |||
content data to be transported. | content data to be transported. | |||
Format specific attribute lines within the session description are used to | Format specific attribute lines within the session description are used to | |||
skipping to change at page 16, line 11 | skipping to change at page 16, line 11 | |||
indicates the Content-ID of the MIME part of the request that contains the | indicates the Content-ID of the MIME part of the request that contains the | |||
actual data, and is defined as: | actual data, and is defined as: | |||
<sub-part-ref> := ("spr:" Content-ID) | <sub-part-ref> := ("spr:" Content-ID) | |||
where Content-ID is as defined in Appendix A of [3] and in [10]). | where Content-ID is as defined in Appendix A of [3] and in [10]). | |||
For example: | For example: | |||
c= TN RFC2543 +1-201-406-4090 | c= TN RFC2543 +1-201-406-4090 | |||
m= text 1 fax plain | m= text 1 fax plain | |||
a=fmtp:plain spr:<Content-ID> | a=fmtp:plain spr:<Content-ID> | |||
*-*- | ||||
The <Content-ID> parameter is the Content-ID of one of the MIME parts inside | The <Content-ID> parameter is the Content-ID of one of the MIME parts inside | |||
the message, and this fragment means that the requesting user would like the | the message, and this fragment means that the requesting user would like the | |||
data object held in the sub-part of this message labelled <Content-ID> to be | data object held in the sub-part of this message labelled <Content-ID> to be | |||
faxed to the machine at phone number +1-201-406-4090. | faxed to the machine at phone number +1-201-406-4090. | |||
*-*- | ||||
See also section 3.5.1 for a discussion on the support needed in the | See also section 3.5.1 for a discussion on the support needed in the | |||
enclosing SIP request for included data objects. | enclosing SIP request for included data objects. | |||
3.4.3. Attribute Tags to pass information into the Telephone Network | 3.4.3. Attribute Tags to pass information into the Telephone Network | |||
*-*- | ||||
It may be desired to include within the PINT request service parameters | It may be desired to include within the PINT request service parameters | |||
that can be understood only by some entity in the "Telephone Network | that can be understood only by some entity in the "Telephone Network | |||
Cloud". SDP attribute parameters are used for this purpose. They MAY appear | Cloud". SDP attribute parameters are used for this purpose. They MAY appear | |||
within a particular media description or outside of a media description. | within a particular media description or outside of a media description. | |||
These attributes may also appear as parameters within PINT URLS (see section | These attributes may also appear as parameters within PINT URLS (see section | |||
3.5.6) as part of a SIP request. | 3.5.6) as part of a SIP request. | |||
This is necessary so that telephone terminals that require the attributes to | This is necessary so that telephone terminals that require the attributes to | |||
be defined can appear within the To: line of a PINT request as well as | be defined can appear within the To: line of a PINT request as well as | |||
skipping to change at page 16, line 54 | skipping to change at page 16, line 52 | |||
number of networks (such as an '800' freephone number). | number of networks (such as an '800' freephone number). | |||
c. The telephone number might be reachable only within a | c. The telephone number might be reachable only within a | |||
single telephone network (such as the '152' customer service | single telephone network (such as the '152' customer service | |||
number of BT). Similarly, the number might be an internal | number of BT). Similarly, the number might be an internal | |||
corporate extension reachable only within the PBX. | corporate extension reachable only within the PBX. | |||
However, as noted above, it is not usually necessary to use SDP | However, as noted above, it is not usually necessary to use SDP | |||
attributes to specify the phone context. URLs such as 152@pint.bt.co.il | attributes to specify the phone context. URLs such as 152@pint.bt.co.il | |||
within the To: and From: headers and/or Request-URI, normally offer | within the To: and From: headers and/or Request-URI, normally offer | |||
sufficient context to resolve telephone numbers. | sufficient context to resolve telephone numbers. | |||
-.-. | ||||
If the client wishes the request to fail if the attributes are not | If the client wishes the request to fail if the attributes are not | |||
supported, these attributes should be used in conjunction with the | supported, these attributes should be used in conjunction with the | |||
"require" attribute (section 3.4.4) and the "Require:org.ietf.sdp.require" | "require" attribute (section 3.4.4) and the "Require:org.ietf.sdp.require" | |||
header (section 3.5.4). | header (section 3.5.4). | |||
It is not possible to standardise every possible internal telephone network | It is not possible to standardise every possible internal telephone network | |||
parameter. PINT 1.0 attributes have been chosen for specification because | parameter. PINT 1.0 attributes have been chosen for specification because | |||
they are common enough that many different PINT systems will want to use | they are common enough that many different PINT systems will want to use | |||
them, and therefore interoperability will be increased by having a single | them, and therefore interoperability will be increased by having a single | |||
specification. | specification. | |||
*-*- | ||||
Proprietary attribute "a=" lines, that by definition are not interoperable, | Proprietary attribute "a=" lines, that by definition are not interoperable, | |||
may be nonetheless useful when it is necessary to transport some proprietary | may be nonetheless useful when it is necessary to transport some proprietary | |||
internal telephone network variables over the IP network, for example to | internal telephone network variables over the IP network, for example to | |||
identify the order in which service call legs should be made. These private | identify the order in which service call legs should be made. These private | |||
attributes SHOULD BE, however, subject to the same IANA registration | attributes SHOULD BE, however, subject to the same IANA registration | |||
procedures mentioned in the SDP specification[2] (see also this Appendix C). | procedures mentioned in the SDP specification[2] (see also this Appendix C). | |||
3.4.3.1. The phone-context attribute | 3.4.3.1. The phone-context attribute | |||
An attribute is specified to enable "remote local dialling". This is the | An attribute is specified to enable "remote local dialling". This is the | |||
skipping to change at page 18, line 25 | skipping to change at page 18, line 25 | |||
c= TN RFC2543 1-800-765-4321 | c= TN RFC2543 1-800-765-4321 | |||
a=phone-context:+1 | a=phone-context:+1 | |||
This describes an terminal whose address in North America (E.164 country | This describes an terminal whose address in North America (E.164 country | |||
code 1) is 1-800-765-4321. | code 1) is 1-800-765-4321. | |||
The two telephone terminals described by examples 1 and 2 are different; in | The two telephone terminals described by examples 1 and 2 are different; in | |||
fact they are located in different countries. | fact they are located in different countries. | |||
Example 3: | Example 3: | |||
-.-. | ||||
c=TN RFC2543 123 | c=TN RFC2543 123 | |||
a=phone-context:+97252 | a=phone-context:+97252 | |||
-.-. | ||||
This describes a terminal whose address when dialled from within the network | This describes a terminal whose address when dialled from within the network | |||
identified by +97252 is the string "123". It so happens that +97252 defines | identified by +97252 is the string "123". It so happens that +97252 defines | |||
one of the Israeli cell phone providers, and 123 reaches customer service | one of the Israeli cell phone providers, and 123 reaches customer service | |||
when dialled within that network. | when dialled within that network. | |||
-.-. | ||||
It may well be useful or necessary to use the SDP "require" parameter in | It may well be useful or necessary to use the SDP "require" parameter in | |||
conjunction with the phone-context attribute. | conjunction with the phone-context attribute. | |||
Example 4: | Example 4: | |||
c= TN RFC2543 321 | c= TN RFC2543 321 | |||
a=phone-context:X-acme.com 23 | a=phone-context:X-acme.com-23 | |||
This might describe the telephone terminal that is at extension 321 of PBX | This might describe the telephone terminal that is at extension 321 of PBX | |||
number 23 within the acme.com private PBX network. It is expected that such | number 23 within the acme.com private PBX network. It is expected that such | |||
a description would be understandable by the acme.com PINT server that | a description would be understandable by the acme.com PINT server that | |||
receives the request. | receives the request. | |||
Note that if the PINT server receiving the request is inside the acme.com | Note that if the PINT server receiving the request is inside the acme.com | |||
network, the same terminal might be addressable as follows: | network, the same terminal might be addressable as follows: | |||
c= TN RFC2543 7-23-321 | c= TN RFC2543 7-23-321 | |||
(assuming that "7" is dialled in order to reach the private PBX network from | (assuming that "7" is dialled in order to reach the private PBX network from | |||
within acme.com) | within acme.com) | |||
*-*- | ||||
*-*- | ||||
3.4.3.2. Presentation Restriction attribute | 3.4.3.2. Presentation Restriction attribute | |||
Although it has no affect on the transport of the service request through | Although it has no affect on the transport of the service request through | |||
the IP Network, there may be a requirement to allow originators of a PINT | the IP Network, there may be a requirement to allow originators of a PINT | |||
service request to indicate whether or not they wish the "B party" in | service request to indicate whether or not they wish the "B party" in | |||
the resulting service call to be presented with the "A party's" calling | the resulting service call to be presented with the "A party's" calling | |||
telephone number. It is a legal requirement in some jurisdictions that a | telephone number. It is a legal requirement in some jurisdictions that a | |||
caller be able to select whether or not their correspondent can find out | caller be able to select whether or not their correspondent can find out | |||
the calling telephone number (using Automatic Number Indication or Caller | the calling telephone number (using Automatic Number Indication or Caller | |||
Display or Calling Line Identity Presentation equipment). Thus an attribute | Display or Calling Line Identity Presentation equipment). Thus an attribute | |||
skipping to change at page 19, line 40 | skipping to change at page 19, line 39 | |||
address is, by default, set to NOT present its identity to correspondents, | address is, by default, set to NOT present its identity to correspondents, | |||
and the originator wants to do so for this particular call. It is in keeping | and the originator wants to do so for this particular call. It is in keeping | |||
with the aim of this attribute to allow the originator to specify what | with the aim of this attribute to allow the originator to specify what | |||
treatment they want for the requested service call. | treatment they want for the requested service call. | |||
The expected interpretation of this attribute is that, if it is present and | The expected interpretation of this attribute is that, if it is present and | |||
the value is "false" then the Calling Line Identity CAN be presented to the | the value is "false" then the Calling Line Identity CAN be presented to the | |||
correspondent terminal, whilst if it is "true" then it if possible the | correspondent terminal, whilst if it is "true" then it if possible the | |||
Executive System is requested to NOT present the Calling Line Identity. | Executive System is requested to NOT present the Calling Line Identity. | |||
*-*- | ||||
3.4.3.3. ITU-T CalledPartyAddress attributes parameters | 3.4.3.3. ITU-T CalledPartyAddress attributes parameters | |||
These attributes correspond to fields that appear within the ITU-T Q.763 | These attributes correspond to fields that appear within the ITU-T Q.763 | |||
"CalledPartyAddress" field (see [8] ,section 3.9). PINT clients | "CalledPartyAddress" field (see [8] ,section 3.9). PINT clients | |||
use these attributes in order to specify further parameters relating to | use these attributes in order to specify further parameters relating to | |||
Terminal Addresses, in the case when the address indicates a | Terminal Addresses, in the case when the address indicates a | |||
"local-phone-number". In the case that the PINT request contains a | "local-phone-number". In the case that the PINT request contains a | |||
reference to a PSTN terminal, the parameters may be required to correctly | reference to a GSTN terminal, the parameters may be required to correctly | |||
identify that remote terminal. | identify that remote terminal. | |||
*-*- | ||||
The general form of this attribute is "a=Q763-<token>((":" <value>) |"")". | The general form of this attribute is "a=Q763-<token>((":" <value>) |"")". | |||
Three of the possible elements and their use in SDP attributes are described | Three of the possible elements and their use in SDP attributes are described | |||
here. Where other Q763 elements are to be used, then these should be the | here. Where other Q763 elements are to be used, then these should be the | |||
subject of further specification to define the syntax of the attribute | subject of further specification to define the syntax of the attribute | |||
mapping. It is recommended that any such specification maintains the value | mapping. It is recommended that any such specification maintains the value | |||
sets shown in Q.763. | sets shown in Q.763. | |||
The defined attributes are: | The defined attributes are: | |||
a=Q763-nature: - indicates the "nature of address indicator". | a=Q763-nature: - indicates the "nature of address indicator". | |||
skipping to change at page 20, line 46 | skipping to change at page 20, line 46 | |||
"1" routing to internal network number not | "1" routing to internal network number not | |||
allowed | allowed | |||
The values have been chosen to coincide with the values in Q.763. | The values have been chosen to coincide with the values in Q.763. | |||
Note that it is possible to use a local-phone-number and indicate via | Note that it is possible to use a local-phone-number and indicate via | |||
attributes that the number is in fact an internationally significant | attributes that the number is in fact an internationally significant | |||
E.164 number. Normally this SHOULD NOT be done; an internationally | E.164 number. Normally this SHOULD NOT be done; an internationally | |||
significant E.164 number is indicated by using a "global-phone-number" | significant E.164 number is indicated by using a "global-phone-number" | |||
for the address string. | for the address string. | |||
-.-. | ||||
3.4.4. The "require" attribute | 3.4.4. The "require" attribute | |||
-.-. | ||||
According to the SDP specification, a PINT server is allowed simply to | According to the SDP specification, a PINT server is allowed simply to | |||
ignore attribute parameters that it does not understand. In order to force a | ignore attribute parameters that it does not understand. In order to force a | |||
server to fail a request if it does not understand one of the PINT | server to fail a request if it does not understand one of the PINT | |||
attributes, a client should use the "require" attribute, specified as | attributes, a client should use the "require" attribute, specified as | |||
follows: | follows: | |||
-.-. | ||||
a=require:<attribute-list> | a=require:<attribute-list> | |||
where the attribute-list is a comma-separated list of attributes that appear | where the attribute-list is a comma-separated list of attributes that appear | |||
elsewhere in the session description. | elsewhere in the session description. | |||
-.-. | ||||
In order to process the request successfully the PINT server must BOTH | In order to process the request successfully the PINT server must BOTH | |||
understand the attribute AND ALSO fulfil the request implied by the presence | understand the attribute AND ALSO fulfil the request implied by the presence | |||
of the attribute, for each attribute appearing within the attribute-list of | of the attribute, for each attribute appearing within the attribute-list of | |||
the require attribute. | the require attribute. | |||
If the server does not recognise the attribute listed, the PINT server MUST | If the server does not recognise the attribute listed, the PINT server MUST | |||
return an error status code (such as 420 (Bad Extension) or 400 (Bad | return an error status code (such as 420 (Bad Extension) or 400 (Bad | |||
Request)), | Request)), and SHOULD return suitable Warning: lines explaining the problem | |||
and SHOULD return suitable Warning: lines explaining the problem or an | or an Unsupported: header containing the attribute it does not understand. | |||
Unsupported: header containing the attribute it does not understand. If the | If the server recognizes the attribute listed, but cannot fulfil the | |||
server recognizes the attribute listed, but cannot fulfil the request implied | request implied by the presence of the attribute, the request MUST fail | |||
by the presence of the attribute, the request MUST fail with a status code | with a status code of (606 Not Acceptable), along with a suitable | |||
of (606 Not Acceptable), along with a suitable Unsupported: header or | Unsupported: header or Warning: line. | |||
Warning: line. | ||||
-.-. | ||||
The "require" attribute may appear anywhere in the session description, and | The "require" attribute may appear anywhere in the session description, and | |||
any number of times, but it MUST appear before the use of the attribute | any number of times, but it MUST appear before the use of the attribute | |||
marked as required. | marked as required. | |||
-.-. | ||||
Since the "require" attribute is itself an attribute, the SIP specification | Since the "require" attribute is itself an attribute, the SIP specification | |||
allows a server that does not understand the require attribute to ignore | allows a server that does not understand the require attribute to ignore | |||
it. In order to ensure that the PINT server will comply with the "require" | it. In order to ensure that the PINT server will comply with the "require" | |||
attribute, a PINT client should include a Require: header with the tag | attribute, a PINT client should include a Require: header with the tag | |||
"ietf.org.sdp.require" (section 3.5.4) | "ietf.org.sdp.require" (section 3.5.4) | |||
*-*- | ||||
Note that the majority of the PINT extensions are "tagged" and these tags | Note that the majority of the PINT extensions are "tagged" and these tags | |||
can be included in Require strictures. The exception is the use of phone | can be included in Require strictures. The exception is the use of phone | |||
numbers in SDP parts. However, these are defined as a new network and | numbers in SDP parts. However, these are defined as a new network and | |||
address type, so that a receiving SIP/SDP server should be able to detect | address type, so that a receiving SIP/SDP server should be able to detect | |||
whether or not it supports these forms. The default behaviour for any SDP | whether or not it supports these forms. The default behaviour for any SDP | |||
recipient is that it will fail a PINT request if it does not recognise or | recipient is that it will fail a PINT request if it does not recognise or | |||
support the TN and RFC2543 or X-token network and address types, as without | support the TN and RFC2543 or X-token network and address types, as without | |||
the contents being recognised no media session could be created. Thus a | the contents being recognised no media session could be created. Thus a | |||
separate stricture is not required in this case. | separate stricture is not required in this case. | |||
3.5. PINT Extensions to SIP 2.0 | 3.5. PINT Extensions to SIP 2.0 | |||
PINT requests are SIP requests; Many of the specifications within this | PINT requests are SIP requests; Many of the specifications within this | |||
document merely explain how to use existing SIP facilities for the purposes | document merely explain how to use existing SIP facilities for the purposes | |||
of PINT. | of PINT. | |||
*-*- | ||||
3.5.1. Multi-part MIME (sending data along with SIP request) | 3.5.1. Multi-part MIME (sending data along with SIP request) | |||
A PINT request can contain a payload which is multipart MIME. In this case | A PINT request can contain a payload which is multipart MIME. In this case | |||
the first part MUST contain an SDP session description that includes at | the first part MUST contain an SDP session description that includes at | |||
least one of the format specific attribute tags for "included content data" | least one of the format specific attribute tags for "included content data" | |||
specified above in section 3.4.3. All subsequent parts contain content data | specified above in section 3.4.3. All subsequent parts contain content data | |||
that is to be transferred to the requested Telephone Call Service. As | that is to be transferred to the requested Telephone Call Service. As | |||
discussed earlier, within a single PINT request, some of the data MAY be | discussed earlier, within a single PINT request, some of the data MAY be | |||
pointed to by a URI within the request, and some of the data MAY be included | pointed to by a URI within the request, and some of the data MAY be included | |||
within the request. | within the request. | |||
*-*- | ||||
Where included data is carried within a PINT service request, the Content | Where included data is carried within a PINT service request, the Content | |||
Type entity header of the enclosing SIP message MUST indicate this. To do | Type entity header of the enclosing SIP message MUST indicate this. To do | |||
so, the media type value within this entity header MUST be set to a value of | so, the media type value within this entity header MUST be set to a value of | |||
"multipart". | "multipart". | |||
The enclosed body parts SHOULD include the part-specific Content Type | The enclosed body parts SHOULD include the part-specific Content Type | |||
headers as appropriate ("application/sdp" for the first body part holding | headers as appropriate ("application/sdp" for the first body part holding | |||
the session description, with an appropriate content type for each of the | the session description, with an appropriate content type for each of the | |||
subsequent, "included data object" parts). This matches the standard syntax | subsequent, "included data object" parts). This matches the standard syntax | |||
of MIME multipart messages as defined in [4]. | of MIME multipart messages as defined in [4]. | |||
skipping to change at page 23, line 18 | skipping to change at page 23, line 17 | |||
Warning: 305 pint.acme.com Incompatible media format: jpeg | Warning: 305 pint.acme.com Incompatible media format: jpeg | |||
SIP servers that do not understand the PINT extensions at all are strongly | SIP servers that do not understand the PINT extensions at all are strongly | |||
encouraged to implement Warning: headers to indicate that PINT extensions | encouraged to implement Warning: headers to indicate that PINT extensions | |||
are not understood. | are not understood. | |||
Also, Warning: headers may be included within NOTIFY requests if it is | Also, Warning: headers may be included within NOTIFY requests if it is | |||
necessary to notify the client about some condition concerning the | necessary to notify the client about some condition concerning the | |||
invocation of the PINT service (see next). | invocation of the PINT service (see next). | |||
*-*- | ||||
3.5.3. Mechanism to register interest in the disposition of a PINT service, | 3.5.3. Mechanism to register interest in the disposition of a PINT service, | |||
and to receive indications on that disposition | and to receive indications on that disposition | |||
It can be very useful to find out whether or not a requested service has | It can be very useful to find out whether or not a requested service has | |||
completed, and if so whether or not it was successful. This is especially | completed, and if so whether or not it was successful. This is especially | |||
true for PINT service, where the person requesting the service is not | true for PINT service, where the person requesting the service is not | |||
(necessarily) a party to it, and so may not have an easy way of finding out | (necessarily) a party to it, and so may not have an easy way of finding out | |||
the disposition of that service. Equally, it may be useful to indicate when | the disposition of that service. Equally, it may be useful to indicate when | |||
the service has changed state, for example when the service call has | the service has changed state, for example when the service call has | |||
started. | started. | |||
Arranging a flexible system to provide extensive monitoring and control | Arranging a flexible system to provide extensive monitoring and control | |||
during a service is non-trivial (see section 6.4 for some issues); PINT 1.0 | during a service is non-trivial (see section 6.4 for some issues); PINT 1.0 | |||
uses a simple scheme that should nevertheless provide useful information. It | uses a simple scheme that should nevertheless provide useful information. It | |||
is possible to expand the scheme in a "backwards compatible" manner, so if | is possible to expand the scheme in a "backwards compatible" manner, so if | |||
required it can be enhanced at a later date. Such enhancement would be | required it can be enhanced at a later date. Such enhancement would be | |||
expected to be the subject of a separate document. | expected to be the subject of a separate document. | |||
The PINT 1.0 status registration and indication scheme uses two new methods; | The PINT 1.0 status registration and indication scheme uses three new | |||
SUBSCRIBE and NOTIFY. These are used to allow a PINT Requesting entity to | methods; SUBSCRIBE, UNSUBSCRIBE, and NOTIFY. These are used to allow a PINT | |||
register an interest in (or "subscribe" to) the status of a service request, | Requesting entity to register an interest in (or "subscribe" to) the status | |||
and for the gateway to return service indications. Both of these messages | of a service request, to indicate that this monitoring session is over, | |||
and for the gateway to return service indications. All of these messages | ||||
follow the same procedure as used for all the SIP requests other than | follow the same procedure as used for all the SIP requests other than | |||
INVITE; the recipient MUST acknowledge the request with a final response | INVITE; the recipient MUST acknowledge the request with a final response | |||
message, otherwise the request will be repeated. | message, otherwise the request will be repeated. | |||
-.-. | ||||
3.5.3.1. Opening a monitoring session with a SUBSCRIBE request | 3.5.3.1. Opening a monitoring session with a SUBSCRIBE request | |||
The SUBSCRIBE request indicates that a user wishes to receive information | The SUBSCRIBE request indicates that a user wishes to receive information | |||
about the status of a session. The request identifies the session of interest | about the status of a session. The request identifies the session of | |||
normally by including the original session description along with the request. | interest normally by including the original session description along | |||
Where the subscription is being made by the user who initiated the original | with the request. Where the subscription is being made by the user who | |||
service request, the Call-ID may be used as it will be known to the receiver | initiated the original service request, the Call-ID may be used as it | |||
to refer to a previously established session. (When the request comes from a | will be known to the receiver to refer to a previously established | |||
user other than the original requesting user, the request constitutes a new | session. (When the request comes from a user other than the original | |||
call, so the Call-ID should not be used; instead the origin-field of the | requesting user, the request constitutes a new SIP call leg, so the | |||
session description enclosed within the original service request is used). | Call-ID should not be used; instead the origin-field of the session | |||
description enclosed within the original service request must be used). | ||||
The request MUST NOT include whatever content was present in the original | The request MUST NOT include whatever content was present in the original | |||
request other than the session description, and a server MUST ignore | request other than the session description, and a server MUST ignore | |||
whatever content is included within a SUBSCRIBE request with the sole | whatever content is included within a SUBSCRIBE request with the sole | |||
exception of the enclosed session description. | exception of the enclosed session description. | |||
-.-. | ||||
The request MAY contain a "Contact:" header, specifying the PINT User Agent | The request MAY contain a "Contact:" header, specifying the PINT User Agent | |||
Server to which such information should be sent. In addition, it SHOULD | Server to which such information should be sent. In addition, it SHOULD | |||
contain an Expires: header, which indicates for how long the PINT Requestor | contain an Expires: header, which indicates for how long the PINT Requestor | |||
wishes to receive notification of the session status. See section 5.1.4. | wishes to receive notification of the session status. See section 5.1.4. | |||
for security considerations, particularly privacy implications. | for security considerations, particularly privacy implications. | |||
A value of 0 within the Expires: header indicates a desire to receive one | A value of 0 within the Expires: header indicates a desire to receive one | |||
single immediate response (i.e. the request expires immediately). We refer | single immediate response (i.e. the request expires immediately). We refer | |||
to the period of time before the expiration of the SUBSCRIBE request as the | to the period of time before the expiration of the SUBSCRIBE request as the | |||
"subscription period". | "subscription period". | |||
skipping to change at page 24, line 34 | skipping to change at page 24, line 33 | |||
Expires: header indicating how long it is willing to maintain the monitoring | Expires: header indicating how long it is willing to maintain the monitoring | |||
session. If this is unacceptable to the PINT Requestor, then it can close | session. If this is unacceptable to the PINT Requestor, then it can close | |||
the session by sending an immediate BYE (see 3.5.3.3). | the session by sending an immediate BYE (see 3.5.3.3). | |||
In principle, a user might send a SUBSCRIBE request after the telephone | In principle, a user might send a SUBSCRIBE request after the telephone | |||
network service has completed. This allows, for example, checking up "the | network service has completed. This allows, for example, checking up "the | |||
morning after" to see if the fax was successfully transmitted. However, a | morning after" to see if the fax was successfully transmitted. However, a | |||
PINT gateway is only required to keep state about a call for as long as it | PINT gateway is only required to keep state about a call for as long as it | |||
indicated previously in a Expires: header within the response to the | indicated previously in a Expires: header within the response to the | |||
original INVITE message that triggered the service session, within the | original INVITE message that triggered the service session, within the | |||
response to the SUBSCRIBE message, or within its BYE message (but see | response to the SUBSCRIBE message, within the response to the BYE | |||
section 3.5.8, point 3). | message, or within its own BYE message (but see section 3.5.8, point 3). | |||
If the Server no longer has a record of the session to which a Requestor has | If the Server no longer has a record of the session to which a Requestor has | |||
SUBSCRIBEd, it returns "606 Not Acceptable", along with the appropriate | SUBSCRIBEd, it returns "606 Not Acceptable", along with the appropriate | |||
Warning: 307 header indicating that the SDP session ID is no longer valid. | Warning: 307 header indicating that the SDP session ID is no longer valid. | |||
This means that a requesting Client that knows that it will want information | This means that a requesting Client that knows that it will want information | |||
about the status of a session after the session terminates SHOULD send a | about the status of a session after the session terminates SHOULD send a | |||
SUBSCRIBE request before the session terminates. | SUBSCRIBE request before the session terminates. | |||
3.5.3.2. Sending Status Indications with a NOTIFY request | 3.5.3.2. Sending Status Indications with a NOTIFY request | |||
During the subscription period, the Gateway may, from time to time, send a | During the subscription period, the Gateway may, from time to time, send a | |||
skipping to change at page 25, line 10 | skipping to change at page 25, line 10 | |||
that situation it will immediately attempt to close the session (see next). | that situation it will immediately attempt to close the session (see next). | |||
The NOTIFY request contains the modified session description. For example, | The NOTIFY request contains the modified session description. For example, | |||
the Gateway may be able to indicate a more accurate start or stop time. | the Gateway may be able to indicate a more accurate start or stop time. | |||
The Gateway may include a Warning: header to describe some problem with the | The Gateway may include a Warning: header to describe some problem with the | |||
invocation of the service, and may indicate within an i= line some | invocation of the service, and may indicate within an i= line some | |||
information about the telephone network session itself. | information about the telephone network session itself. | |||
Example: | Example: | |||
NOTIFY sip:petrack@pager.com SIP/2.0 | NOTIFY sip:petrack@pager.com SIP/2.0 | |||
To:sip:petrack@pager.com | To:sip:petrack@pager.com | |||
From:sip:R2F.pint.com@service.com | From:sip:R2F.pint.com@service.com | |||
Call-ID: 19971205T234505.56.78@pager.com | ||||
CSeq: 4711 SUBSCRIBE | ||||
Warning: xxx fax aborted, will try for the next hour. | Warning: xxx fax aborted, will try for the next hour. | |||
Content-Type:application/sdp | Content-Type:application/sdp | |||
c=... | c=... | |||
i=3 pages of 5 sent | i=3 pages of 5 sent | |||
t=... | t=... | |||
3..5.3.3. Closing a monitoring session with a BYE request | 3.5.3.3. Closing a monitoring session with an UNSUBSCRIBE request | |||
At some point, either the Client's representative User Agent Server or the | At some point, either the Client's representative User Agent Server or the | |||
Gateway may decide to terminate the monitoring session. This is achieved by | Gateway may decide to terminate the monitoring session. This is achieved | |||
sending a BYE request to the correspondent server. Such a request indicates | by sending an UNSUBSCRIBE request to the correspondent server. Such a | |||
that the sender intends to close the monitoring session immediately, and, on | request indicates that the sender intends to close the monitoring session | |||
receipt of the final response from the receiving server, the session is | immediately, and, on receipt of the final response from the receiving | |||
deemed over. | server, the session is deemed over. | |||
If the Gateway initiates closure of the monitoring session by sending a BYE | If the Gateway initiates closure of the monitoring session by sending an | |||
message, it SHOULD include an "Expires:" header showing for how much longer | UNSUBSCRIBE message, it SHOULD include an "Expires:" header showing for | |||
after this monitoring session is closed it is willing to store information | how much longer after this monitoring session is closed it is willing to | |||
on the service session. This acts as a minimum time within which the Client | store information on the service session. This acts as a minimum time | |||
can send a new SUBSCRIBE message to open another monitoring session; after | within which the Client can send a new SUBSCRIBE message to open another | |||
the time indicated in the Expires: header the Gateway is free to dispose of | monitoring session; after the time indicated in the Expires: header the | |||
any record of the service session, so that subsequent SUBSCRIBE requests can | Gateway is free to dispose of any record of the service session, so that | |||
be rejected with a "606" response. | subsequent SUBSCRIBE requests can be rejected with a "606" response. | |||
If the subscription period specified by the Client has expired, then the | If the subscription period specified by the Client has expired, then the | |||
Gateway may send an immediate BYE request to the Client's representative | Gateway may send an immediate UNSUBSCRIBE request to the Client's | |||
User Agent Server. This ensures that the monitoring session always completes | representative User Agent Server. This ensures that the monitoring session | |||
with a BYE/response exchange, and that the representative User Agent Server | always completes with a UNSUBSCRIBE/response exchange, and that the | |||
can avoid maintaining state in certain circumstances. | representative User Agent Server can avoid maintaining state in certain | |||
circumstances. | ||||
3.5.3.4. Timing of SUBSCRIBE requests | 3.5.3.4. Timing of SUBSCRIBE requests | |||
As it relies on the Gateway having a copy of the INVITEd session | As it relies on the Gateway having a copy of the INVITEd session | |||
description, the SUBSCRIBE message is limited in when it can be issued. The | description, the SUBSCRIBE message is limited in when it can be issued. The | |||
Gateway must have received the service request to which this monitoring | Gateway must have received the service request to which this monitoring | |||
session is to be associated, which from the Client's perspective happens as | session is to be associated, which from the Client's perspective happens as | |||
soon as the Gateway has sent a 1xx response back to it. | soon as the Gateway has sent a 1xx response back to it. | |||
However, once this has been done, there is no reason why the Client should | However, once this has been done, there is no reason why the Client should | |||
not send a monitoring request. It does not have to wait for the final | not send a monitoring request. It does not have to wait for the final | |||
response from the Gateway, and it can certainly send the SUBSCRIBE request | response from the Gateway, and it can certainly send the SUBSCRIBE request | |||
before sending the ACK for the Service request final response. Beyond this | before sending the ACK for the Service request final response. Beyond this | |||
skipping to change at page 26, line 30 | skipping to change at page 26, line 30 | |||
immediately prior to sending an ACK message confirming the service if it is | immediately prior to sending an ACK message confirming the service if it is | |||
interested in transient service status messages. | interested in transient service status messages. | |||
3.5.4. The "Require:" header for PINT | 3.5.4. The "Require:" header for PINT | |||
PINT clients use the Require: header to signal to the PINT server that a | PINT clients use the Require: header to signal to the PINT server that a | |||
certain PINT extension of SIP is required. PINT 1.0 defines two strings that | certain PINT extension of SIP is required. PINT 1.0 defines two strings that | |||
can go into the Require header: | can go into the Require header: | |||
org.ietf.sip.subscribe -- the server can fulfill SUBSCRIBE requests | org.ietf.sip.subscribe -- the server can fulfill SUBSCRIBE requests | |||
(section 3.5.3) | and associated methods (see section 3.5.3) | |||
-.-. | ||||
org.ietf.sdp.require -- the PINT server (or the SDP parser associated | org.ietf.sdp.require -- the PINT server (or the SDP parser associated | |||
to it) understands the "require" attribute | to it) understands the "require" attribute | |||
defined in (section 3.4.4) | defined in (section 3.4.4) | |||
Example: | Example: | |||
-.-. | ||||
Require:org.ietf.sip.subscribe,org.ietf.sdp.require | Require:org.ietf.sip.subscribe,org.ietf.sdp.require | |||
A client should only include a Require: header where it truly requires the | A client should only include a Require: header where it truly requires the | |||
server to fail the request if the option is not supported. | server to fail the request if the option is not supported. | |||
3.5.5. PINT URLs within PINT requests | 3.5.5. PINT URLs within PINT requests | |||
Normally the hostnames and domain names that appear in the PINT URLs are the | Normally the hostnames and domain names that appear in the PINT URLs are the | |||
internal affair of each individual PINT system. A client uses the | internal affair of each individual PINT system. A client uses the | |||
appropriate SDP payload to indicate the particular service it wishes to | appropriate SDP payload to indicate the particular service it wishes to | |||
skipping to change at page 27, line 27 | skipping to change at page 27, line 27 | |||
1. The user portion of a sip URL indicates the service to be requested. At | 1. The user portion of a sip URL indicates the service to be requested. At | |||
present the following services are defined: | present the following services are defined: | |||
R2C (for Request-to-Call) | R2C (for Request-to-Call) | |||
R2F (for Request-to-Fax) | R2F (for Request-to-Fax) | |||
R2HC (for Request-to-Hear-Content) | R2HC (for Request-to-Hear-Content) | |||
The user portions "R2C", "R2F", and "R2HC" are reserved for the PINT | The user portions "R2C", "R2F", and "R2HC" are reserved for the PINT | |||
milestone services. Other user portions MUST be used in case the requested | milestone services. Other user portions MUST be used in case the requested | |||
service is not one of the Milestone services. See section 3.5.8 for some | service is not one of the Milestone services. See section 6.2 for some | |||
related considerations concerning registrations by competing PINT systems to | related considerations concerning registrations by competing PINT systems to | |||
a single PINT proxy server acting as a service broker. | a single PINT proxy server acting as a service broker. | |||
2. The host portion of a sip URL contains the domain name of the PINT | 2. The host portion of a sip URL contains the domain name of the PINT | |||
service provider. | service provider. | |||
3. A new url-parameter is defined to be "tsp" (for "telephone service | 3. A new url-parameter is defined to be "tsp" (for "telephone service | |||
provider"). This can be used to indicate the actual telephone network | provider"). This can be used to indicate the actual telephone network | |||
provider to be used to fulfil the PINT request. | provider to be used to fulfil the PINT request. | |||
skipping to change at page 27, line 58 | skipping to change at page 27, line 58 | |||
Any legal SIP URL can appear as a PINT URL within the Request-URI or To: | Any legal SIP URL can appear as a PINT URL within the Request-URI or To: | |||
header of a PINT request. But if the address is a telephone address, we | header of a PINT request. But if the address is a telephone address, we | |||
indicated in section 3.4.3 that it may be necessary to include more | indicated in section 3.4.3 that it may be necessary to include more | |||
information in order correctly to identify the remote telephone terminal or | information in order correctly to identify the remote telephone terminal or | |||
service. PINT clients MAY include these attribute tags within PINT URLs if | service. PINT clients MAY include these attribute tags within PINT URLs if | |||
they are necessary or a useful complement to the telephone number within the | they are necessary or a useful complement to the telephone number within the | |||
SIP URL. These attribute tags MUST be included as URL parameters as defined | SIP URL. These attribute tags MUST be included as URL parameters as defined | |||
in [1] (i.e. in the semi-colon separated manner). | in [1] (i.e. in the semi-colon separated manner). | |||
The following is an example of a PINT URL containing extra attribute tags: | The following is an example of a PINT URL containing extra attribute tags: | |||
-.-. | ||||
sip:+9725228808@pint.br.com;user=phone;require=Q763-plan;a=Q763-plan:4 | sip:+9725228808@pint.br.com;user=phone;require=Q763-plan;a=Q763-plan:4 | |||
As we noted in section 3.4.3, these extra attribute parameters will not | As we noted in section 3.4.3, these extra attribute parameters will not | |||
normally be needed within a URL, because there is a great deal of context | normally be needed within a URL, because there is a great deal of context | |||
available to the help the server interpret the phone number correctly. In | available to the help the server interpret the phone number correctly. In | |||
particular, there is the SIP URL within the To: header, and there is also | particular, there is the SIP URL within the To: header, and there is also | |||
the Request-URI. In most cases this provides sufficient information for the | the Request-URI. In most cases this provides sufficient information for the | |||
telephone network. | telephone network. | |||
The SDP attributes defined in section 3 above will normally only be used | The SDP attributes defined in section 3 above will normally only be used | |||
when they are needed to supply necessary context to identify a telephone | when they are needed to supply necessary context to identify a telephone | |||
terminal. | terminal. | |||
3.5.7. REGISTER requests within PINT | 3.5.7. REGISTER requests within PINT | |||
*-*- | ||||
A PINT gateway is a SIP user agent server. A User Agent Server uses the | A PINT gateway is a SIP user agent server. A User Agent Server uses the | |||
REGISTER request to tell a proxy or redirect server that it is available to | REGISTER request to tell a proxy or redirect server that it is available to | |||
"receive calls" (i.e. to service requests). Thus a PINT Gateway registers | "receive calls" (i.e. to service requests). Thus a PINT Gateway registers | |||
with a proxy or redirect server the service that is accessible via itself, | with a proxy or redirect server the service that is accessible via itself, | |||
whilst in SIP, a user is registering his/her presence at a particular SIP | whilst in SIP, a user is registering his/her presence at a particular SIP | |||
Server. | Server. | |||
There may be competing PINT servers that can offer the same PINT service | There may be competing PINT servers that can offer the same PINT service | |||
trying to register at a single PINT server. The PINT server might act as a | trying to register at a single PINT server. The PINT server might act as a | |||
"broker" among the various PINT gateways that can fulfil a request. A | "broker" among the various PINT gateways that can fulfil a request. A | |||
skipping to change at page 29, line 37 | skipping to change at page 29, line 37 | |||
description can be used to indicate the precise nature of the problem. | description can be used to indicate the precise nature of the problem. | |||
Example: | Example: | |||
SIP/2.0 606 Not Acceptable | SIP/2.0 606 Not Acceptable | |||
From: ... | From: ... | |||
To: ....... | To: ....... | |||
..... | ..... | |||
Warning: 399 pint.mycom.com Fax in progress, service cannot be aborted | Warning: 399 pint.mycom.com Fax in progress, service cannot be aborted | |||
Content-Type: application/sdp | Content-Type: application/sdp | |||
Content-Length: 50 | Content-Length: ... | |||
v=0 | v=0 | |||
... | ||||
... | ||||
i=3 of 5 pages sent OK | i=3 of 5 pages sent OK | |||
c=TN RFC2543 +12014064090 | c=TN RFC2543 +12014064090 | |||
m=image 1 fax tif | m=image 1 fax tif | |||
a=fmtp:tif uri:http://tifsRus.com/yyyyyy.tif | a=fmtp:tif uri:http://tifsRus.com/yyyyyy.tif | |||
Note that the server may return an updated session description within a | Note that the server may return an updated session description within a | |||
successful response to a BYE as well. This can be used, for example, to | successful response to a BYE as well. This can be used, for example, to | |||
indicate the actual start times and stop times of the telephone session, or | indicate the actual start times and stop times of the telephone session, or | |||
how many pages were sent in the fax transmission. | how many pages were sent in the fax transmission. | |||
skipping to change at page 30, line 29 | skipping to change at page 30, line 33 | |||
4. Examples of PINT Requests and Responses | 4. Examples of PINT Requests and Responses | |||
4.1. A request to a call centre from an anonymous user to receive a phone | 4.1. A request to a call centre from an anonymous user to receive a phone | |||
call. | call. | |||
C->S: INVITE sip:R2C@pint.mailorder.com SIP/2.0 | C->S: INVITE sip:R2C@pint.mailorder.com SIP/2.0 | |||
Via: SIP/2.0/UDP 169.130.12.5 | Via: SIP/2.0/UDP 169.130.12.5 | |||
From: sip:anon-1827631872@chinet.net | From: sip:anon-1827631872@chinet.net | |||
To: sip:+1-201-456-7890@iron.org;user=phone | To: sip:+1-201-456-7890@iron.org;user=phone | |||
Call-ID: 19971205T234505.56.78@chinet.net | Call-ID: 19971205T234505.56.78@pager.com | |||
CSeq: 4711 INVITE | ||||
Subject: Sale on Ironing Boards | Subject: Sale on Ironing Boards | |||
Content-type: application/sdp | Content-type: application/sdp | |||
Content-Length: ... | Content-Length: 174 | |||
v=0 | v=0 | |||
o=- 53655765 2353687637 IN IP4 128.3.4.5 | o=- 2353687637 2353687637 IN IP4 128.3.4.5 | |||
s=R2C | ||||
i=Ironing Board Promotion | i=Ironing Board Promotion | |||
c= TN RFC2543 +1-201-406-4090 | e=anon-1827631872@chinet.net | |||
t=2353687637 0 | ||||
m=audio 1 voice - | m=audio 1 voice - | |||
c=TN RFC2543 +1-201-406-4090 | ||||
-.-. | ||||
In this example, the context that is required to interpret the To: address | In this example, the context that is required to interpret the To: address | |||
as a telephone number is not given explicitly; it is implicitly known to the | as a telephone number is not given explicitly; it is implicitly known to the | |||
R2C@pint.mailorder.com server. But the telephone of the person who wishes to | R2C@pint.mailorder.com server. But the telephone of the person who wishes to | |||
receive the call is explicitly identified as an internationally significant | receive the call is explicitly identified as an internationally significant | |||
E.164 number that falls within the North American numbering plan | E.164 number that falls within the North American numbering plan | |||
(because of the "+1" within the c= line). | (because of the "+1" within the c= line). | |||
4.2. A request from a non anonymous customer (John Jones) to receive a phone | 4.2. A request from a non anonymous customer (John Jones) to receive a phone | |||
call from a particular sales agent (Mary James) concerning the defective | call from a particular sales agent (Mary James) concerning the defective | |||
ironing board that was purchased | ironing board that was purchased | |||
C->S: INVITE sip:marketing@pint.mailorder.com SIP/2.0 | C->S: INVITE sip:marketing@pint.mailorder.com SIP/2.0 | |||
Via: SIP/2.0/UDP 169.130.12.5 | Via: SIP/2.0/UDP 169.130.12.5 | |||
From: sip:john.jones.3@chinet.net | From: sip:john.jones.3@chinet.net | |||
To: sip:mary.james@mailorder.com | To: sip:mary.james@mailorder.com | |||
Call-ID: 19971205T234505.56.79@chinet.net | Call-ID: 19971205T234505.56.78@pager.com | |||
CSeq: 4712 INVITE | ||||
Subject: Defective Ironing Board - want refund | Subject: Defective Ironing Board - want refund | |||
Content-type: application/sdp | Content-type: application/sdp | |||
Content-Length: ... | Content-Length: 150 | |||
v=0 | v=0 | |||
o=- 53655765 2353687637 IN IP4 128.3.4.5 | o=- 2353687640 2353687640 IN IP4 128.3.4.5 | |||
s=marketing | ||||
e=john.jones.3@chinet.net | ||||
c= TN RFC2543 +1-201-406-4090 | c= TN RFC2543 +1-201-406-4090 | |||
m=audio 1 voice | t=2353687640 0 | |||
m=audio 1 voice - | ||||
The To: line might include the Mary James's phone number instead of a | The To: line might include the Mary James's phone number instead of a | |||
email-like address. An implementation that cannot accept email-like URLs in | email-like address. An implementation that cannot accept email-like URLs in | |||
the "To:" header must fail the request with a 606 Not Acceptable. | the "To:" header must fail the request with a 606 Not Acceptable. | |||
Note that the sending PINT client "knows" that the PINT Gateway contacted | Note that the sending PINT client "knows" that the PINT Gateway contacted | |||
with the "marketing@pint.mailorder.com" Request-URI is capable of processing | with the "marketing@pint.mailorder.com" Request-URI is capable of processing | |||
the client request as expected. (see 3.5.5.1 for a discussion on this). | the client request as expected. (see 3.5.5.1 for a discussion on this). | |||
Note also that such a telephone call service could be implemented on the | Note also that such a telephone call service could be implemented on the | |||
phone side with different details. For example, it might be that first the | phone side with different details. For example, it might be that first the | |||
skipping to change at page 31, line 41 | skipping to change at page 31, line 45 | |||
indicated in "a=" attribute lines within the session description. The | indicated in "a=" attribute lines within the session description. The | |||
specification of such attribute lines for service consistency is beyond the | specification of such attribute lines for service consistency is beyond the | |||
scope of the PINT 1.0 specifications. | scope of the PINT 1.0 specifications. | |||
4.3. A request from the same user to get a fax back on how to assemble the | 4.3. A request from the same user to get a fax back on how to assemble the | |||
Ironing Board | Ironing Board | |||
C->S: INVITE sip:faxback@pint.mailorder.com SIP/2.0 | C->S: INVITE sip:faxback@pint.mailorder.com SIP/2.0 | |||
Via: SIP/2.0/UDP 169.130.12.5 | Via: SIP/2.0/UDP 169.130.12.5 | |||
From: sip:john.jones.3@chinet.net | From: sip:john.jones.3@chinet.net | |||
To: sip:1-800-FAXBACK@steam.edu;user=phone;phone-context=+1 | To: sip:1-800-3292225K@steam.edu;user=phone;phone-context=+1 | |||
Call-ID: 19971205T234505.66.79@chinet.net | Call-ID: 19971205T234505.66.79@chinet.net | |||
CSeq: 4713 INVITE | ||||
Content-type: application/sdp | Content-type: application/sdp | |||
Content-Length: ... | Content-Length: 218 | |||
v=0 | v=0 | |||
o=- 53655768 2353687637 IN IP4 128.3.4.5 | o=- 2353687660 2353687660 IN IP4 128.3.4.5 | |||
c= TN RFC2543 1-201-406-4091 | s=faxback | |||
e=john.jones.3@chinet.net | ||||
t=2353687660 0 | ||||
m=application 1 fax URI | m=application 1 fax URI | |||
c=TN RFC2543 1-201-406-4091 | ||||
a=fmtp:URI uri:http://localstore/Products/IroningBoards/2344.html | a=fmtp:URI uri:http://localstore/Products/IroningBoards/2344.html | |||
In this example, the fax to be sent is stored on some local server | In this example, the fax to be sent is stored on some local server | |||
(localstore), whose name may be only resolvable, or that may only be | (localstore), whose name may be only resolvable, or that may only be | |||
reachable, from within the IP network on which the PINT server sits. The | reachable, from within the IP network on which the PINT server sits. The | |||
phone number to be dialled is a "local phone number" as well. There is no | phone number to be dialled is a "local phone number" as well. There is no | |||
"phone-context" attribute, so the context (in this case, for which nation | "phone-context" attribute, so the context (in this case, for which nation | |||
the number is "nationally significant") must be supplied by the | the number is "nationally significant") must be supplied by the | |||
faxback@pint.mailorder.com PINT server. | faxback@pint.mailorder.com PINT server. | |||
-.-. | ||||
If the server that receives does not understand the number, it should fail | If the server that receives does not understand the number, it should fail | |||
the request with and include a "Network Address Not Understood" warning. | the request with and include a "Network Address Not Understood" warning. | |||
Note that no "require" attribute was used here, since it is very likely | Note that no "require" attribute was used here, since it is very likely | |||
that the request can be serviced even by a server that does not support | that the request can be serviced even by a server that does not support | |||
the "require" attribute. | the "require" attribute. | |||
4.4. A request from same user to have that same information read out over | 4.4. A request from same user to have that same information read out over | |||
the phone | the phone | |||
C->S: INVITE sip:faxback@pint.mailorder.com SIP/2.0 | C->S: INVITE sip:faxback@pint.mailorder.com SIP/2.0 | |||
Via: SIP/2.0/UDP 169.130.12.5 | Via: SIP/2.0/UDP 169.130.12.5 | |||
From: john.jones.3@chinet.net | From: sip:john.jones.3@chinet.net | |||
To: sip:1-800-FAXBACK@steam.edu;user=phone;phone-context=+1 | To: sip:1-800-3292225@steam.edu;user=phone;phone-context=+1 | |||
Call-ID: 19971205T234505.66.79@chinet.net | Call-ID: 19971205T234505.66.79@chinet.net | |||
CSeq: 4713 INVITE | ||||
Content-type: application/sdp | Content-type: application/sdp | |||
Content-Length: ... | Content-Length: 220 | |||
v=0 | v=0 | |||
o=- 53655768 2353687637 IN IP4 128.3.4.5 | o=- 2353687660 2353687660 IN IP4 128.3.4.5 | |||
c= TN RFC2543 +1-201-406-4090 | s=faxback | |||
e=john.jones.3@chinet.net | ||||
t=2353687660 0 | ||||
m=application 1 voice URI | m=application 1 voice URI | |||
c=TN RFC2543 1-201-406-4090 | ||||
a=fmtp:URI uri:http://localstore/Products/IroningBoards/2344.html | a=fmtp:URI uri:http://localstore/Products/IroningBoards/2344.html | |||
4.5. A request to send an included text page to a friend's pager. | 4.5. A request to send an included text page to a friend's pager. | |||
In this example, the text to be paged out is included in the request. | In this example, the text to be paged out is included in the request. | |||
C->S: INVITE sip:R2F@pint.pager.com SIP/2.0 | C->S: INVITE sip:R2F@pint.pager.com SIP/2.0 | |||
Via: SIP/2.0/UDP 169.130.12.5 | Via: SIP/2.0/UDP 169.130.12.5 | |||
From: scott.petrack@chinet.net | From: sip:scott.petrack@chinet.net | |||
To: sip:R2F@pint.pager.com | To: sip:R2F@pint.pager.com | |||
Call-ID: 19974505.66.79@chinet.net | Call-ID: 19974505.66.79@chinet.net | |||
CSeq: 4714 INVITE | ||||
Content-Type: multipart/mixed; boundary=--next | Content-Type: multipart/mixed; boundary=--next | |||
----next | ----next | |||
Content-Type: application/sdp | Content-Type: application/sdp | |||
Content-Length: ... | Content-Length: 236 | |||
v=0 | v=0 | |||
o=- 53655768 2353687637 IN IP4 128.3.4.5 | o=- 2353687680 2353687680 IN IP4 128.3.4.5 | |||
c= TN RFC2543 +972-9-956-1867 | s=R2F | |||
e=scott.petrack@chinet.net | ||||
t=2353687680 0 | ||||
m=text 1 pager plain | m=text 1 pager plain | |||
c= TN RFC2543 +972-9-956-1867 | ||||
a=fmtp:plain spr:2@53655768 | a=fmtp:plain spr:2@53655768 | |||
----next | ----next | |||
Content-Type: text/plain | Content-Type: text/plain | |||
Content-ID: 2@53655768 | Content-ID: 2@53655768 | |||
Content-Length:... | Content-Length:50 | |||
Hi Joe! Please call me asap at 555-1234. | Hi Joe! Please call me asap at 555-1234. | |||
----next-- | ----next-- | |||
4.6. A request to send an image as a fax to phone number +972-9-956-1867 | 4.6. A request to send an image as a fax to phone number +972-9-956-1867 | |||
C->S: INVITE sip:faxserver@pint.vocaltec.com SIP/2.0 | C->S: INVITE sip:faxserver@pint.vocaltec.com SIP/2.0 | |||
Via: SIP/2.0/UDP 169.130.12.5 | Via: SIP/2.0/UDP 169.130.12.5 | |||
From: scott.petrack@chinet.net | From: sip:scott.petrack@chinet.net | |||
To: sip:faxserver@pint.vocaltec.com | To: sip:faxserver@pint.vocaltec.com | |||
Call-ID: 19971205T234505.66.79@chinet.net | Call-ID: 19971205T234505.66.79@chinet.net | |||
CSeq: 4715 INVITE | ||||
Content-type: application/sdp | Content-type: application/sdp | |||
Content-Length: ... | Content-Length: 267 | |||
v=0 | v=0 | |||
o=- 53655768 2353687637 IN IP4 128.3.4.5 | o=- 2353687700 2353687700 IN IP4 128.3.4.5 | |||
c= TN RFC2543 +972-9-956-1867 | s=faxserver | |||
e=scott.petrack@chinet.net | ||||
t=2353687700 0 | ||||
m=image 1 fax tif gif | m=image 1 fax tif gif | |||
c= TN RFC2543 +972-9-956-1867 | ||||
a=fmtp:tif uri:http://petrack/images/tif/picture1.tif | a=fmtp:tif uri:http://petrack/images/tif/picture1.tif | |||
a=fmtp:gif uri:http://petrack/images/gif/picture1.gif | a=fmtp:gif uri:http://petrack/images/gif/picture1.gif | |||
-.-. | ||||
The image is available as tif or as gif. The tif is the preferred format. | The image is available as tif or as gif. The tif is the preferred format. | |||
Note that the http server where the pictures reside is local, and the PINT | Note that the http server where the pictures reside is local, and the PINT | |||
server is also local (because it can resolve machine name "petrack") | server is also local (because it can resolve machine name "petrack") | |||
4.7. A request to read out over the phone two pieces of content in sequence. | 4.7. A request to read out over the phone two pieces of content in sequence. | |||
First some included text is read out by text-to-speech. Then some text that | First some included text is read out by text-to-speech. Then some text that | |||
is stored at some URI on the internet is read out. | is stored at some URI on the internet is read out. | |||
C->S: INVITE sip:R2HC@pint.acme.com SIP/2.0 | C->S: INVITE sip:R2HC@pint.acme.com SIP/2.0 | |||
Via: SIP/2.0/UDP 169.130.12.5 | Via: SIP/2.0/UDP 169.130.12.5 | |||
From: scott.petrack@chinet.net | From: sip:scott.petrack@chinet.net | |||
To: sip:R2HC@pint.acme.com | To: sip:R2HC@pint.acme.com | |||
Call-ID: 19974505.66.79@chinet.net | Call-ID: 19974505.66.79@chinet.net | |||
CSeq: 4716 INVITE | ||||
Content-Type: multipart/mixed; boundary=next | Content-Type: multipart/mixed; boundary=next | |||
--next | --next | |||
Content-Type: application/sdp | Content-Type: application/sdp | |||
Content-Length: ... | Content-Length: 316 | |||
v=0 | v=0 | |||
o=- 53655768 2353687637 IN IP4 128.3.4.5 | o=- 2353687720 2353687720 IN IP4 128.3.4.5 | |||
s=R2HC | ||||
e=scott.petrack@chinet.net | ||||
c= TN RFC2543 +1-201-406-4091 | c= TN RFC2543 +1-201-406-4091 | |||
t=2353687720 0 | ||||
m=text 1 voice plain | m=text 1 voice plain | |||
a=fmtp:plain spr:2@53655768 | a=fmtp:plain spr:2@53655768 | |||
m=text 1 voice plain | m=text 1 voice plain | |||
a=fmtp:plain uri:http://www.your.com/texts/stuff.doc | a=fmtp:plain uri:http://www.your.com/texts/stuff.doc | |||
--next | --next | |||
Content-Type: text/plain | Content-Type: text/plain | |||
Content-ID: 2@53655768 | Content-ID: 2@53655768 | |||
Content-Length: ... | Content-Length: 172 | |||
Hello!! I am about to read out to you the document you | Hello!! I am about to read out to you the document you | |||
requested, "uri:http://www.your.com/texts/stuff.doc". | requested, "uri:http://www.your.com/texts/stuff.doc". | |||
We hope you like acme.com's new speech synthesis server. | We hope you like acme.com's new speech synthesis server. | |||
--next-- | --next-- | |||
*-*- | ||||
4.8. Request for the prices for ISDN to be sent to my fax machine | 4.8. Request for the prices for ISDN to be sent to my fax machine | |||
INVITE sip:R2FB@pint.bt.co.uk SIP/2.0 | INVITE sip:R2FB@pint.bt.co.uk SIP/2.0 | |||
Via: SIP/2.0/UDP 169.130.12.5 | Via: SIP/2.0/UDP 169.130.12.5 | |||
To:0345-12347-01;user=phone;phone-context=+44 | To: sip:0345-12347-01@pint.bt.co.uk;user=phone;phone-context=+44 | |||
From: sip:hank.wangford@newts.demon.co.uk | From: sip:hank.wangford@newts.demon.co.uk | |||
Call-ID: 19981204T201505.56.78@demon.co.uk | Call-ID: 19981204T201505.56.78@demon.co.uk | |||
CSeq: 4716 INVITE | ||||
Subject: Price List | Subject: Price List | |||
Content-type: application/sdp | Content-type: application/sdp | |||
Content-Length: 116 | Content-Length: 169 | |||
v=0 | v=0 | |||
o=-53655765 2353687637 IN IP4 128.3.4.5 | o=- 2353687740 2353687740 IN IP4 128.3.4.5 | |||
s=R2FB | ||||
i=ISDN Price List | i=ISDN Price List | |||
c=TN RFC2543 +44-1794-8331010 | e=hank.wangford@newts.demon.co.uk | |||
t=2353687740 0 | ||||
m=text 1 fax - | m=text 1 fax - | |||
c=TN RFC2543 +44-1794-8331010 | ||||
4.9. Request for a callback | 4.9. Request for a callback | |||
INVITE sip:R2C@pint.bt.co.uk SIP/2.0 | INVITE sip:R2C@pint.bt.co.uk SIP/2.0 | |||
Via: SIP/2.0/UDP 169.130.12.5 | Via: SIP/2.0/UDP 169.130.12.5 | |||
To:0345-123456;user=phone;phone-context=+44 | To: sip:0345-123456@pint.bt.co.uk;user=phone;phone-context=+44 | |||
From: sip:hank.wangford@newts.demon.co.uk | From: sip:hank.wangford@newts.demon.co.uk | |||
Call-ID: 19981204T234505.56.78@demon.co.uk | Call-ID: 19981204T234505.56.78@demon.co.uk | |||
CSeq: 4717 INVITE | ||||
Subject: It costs HOW much? | Subject: It costs HOW much? | |||
Content-type: application/sdp | Content-type: application/sdp | |||
Content-Length: 123 | Content-Length: 176 | |||
v=0 | v=0 | |||
o=- 53655765 2353687637 IN IP4 128.3.4.5 | o=- 2353687760 2353687760 IN IP4 128.3.4.5 | |||
s=R2C | ||||
i=ISDN pre-sales query | i=ISDN pre-sales query | |||
e=hank.wangford@newts.demon.co.uk | ||||
c= TN RFC2543 +44-1794-8331013 | c= TN RFC2543 +44-1794-8331013 | |||
t=2353687760 0 | ||||
m=audio 1 voice - | m=audio 1 voice - | |||
4.10.Sending a set of information in response to an enquiry | 4.10.Sending a set of information in response to an enquiry | |||
INVITE sip:R2FB@pint.bt.co.uk SIP/2.0 | INVITE sip:R2FB@pint.bt.co.uk SIP/2.0 | |||
Via: SIP/2.0/UDP 169.130.12.5 | Via: SIP/2.0/UDP 169.130.12.5 | |||
To:0345-12347-01;user=phone;phone-context=+44 | To: sip:0345-12347-01@pint.bt.co.uk;user=phone;phone-context=+44 | |||
From: sip:colin.masterton@sales.hh.bt.co.uk | From: sip:colin.masterton@sales.hh.bt.co.uk | |||
Call-ID: 19981205T234505.56.78@sales.hh.bt.co.uk | Call-ID: 19981205T234505.56.78@sales.hh.bt.co.uk | |||
CSeq: 1147 INVITE | ||||
Subject: Price Info, as requested | Subject: Price Info, as requested | |||
Content-Type: multipart/mixed; boundary=next | Content-Type: multipart/mixed; boundary=next | |||
--next | --next | |||
Content-type: application/sdp | Content-type: application/sdp | |||
Content-Length: 211 | Content-Length: 325 | |||
v=0 | v=0 | |||
o=-53655765 2353687637 IN IP4 128.3.4.5 | o=- 2353687780 2353687780 IN IP4 128.3.4.5 | |||
s=R2FB | ||||
i=Your documents | i=Your documents | |||
c=TN RFC2543 +44-1794-8331010 | e=colin.masterton@sales.hh.bt.co.uk | |||
t=2353687780 0 | ||||
m=application 1 fax octet-stream | m=application 1 fax octet-stream | |||
c=TN RFC2543 +44-1794-8331010 | ||||
a=fmtp:octet-stream uri:http://www.bt.co.uk/imgs/pipr.gif opr: | a=fmtp:octet-stream uri:http://www.bt.co.uk/imgs/pipr.gif opr: | |||
spr:2@53655768 | spr:2@53655768 | |||
--next | --next | |||
Content-Type: text/plain | Content-Type: text/plain | |||
Content-ID: 2@53655768 | Content-ID: 2@53655768 | |||
Content-Length: 352 | Content-Length: 352 | |||
Dear Sir, | Dear Sir, | |||
Thank you for your enquiry. I have checked availability in your | Thank you for your enquiry. I have checked availability in your | |||
area, and we can provide service to your cottage. I enclose a quote | area, and we can provide service to your cottage. I enclose a quote | |||
for the costs of installation, together with the ongoing rental | for the costs of installation, together with the ongoing rental | |||
costs for the line. If you want to proceed with this, please quote | costs for the line. If you want to proceed with this, please quote | |||
skipping to change at page 35, line 24 | skipping to change at page 35, line 50 | |||
job reference isdn/hh/123.45.9901. | job reference isdn/hh/123.45.9901. | |||
Yours Sincerely, | Yours Sincerely, | |||
Colin Masterton | Colin Masterton | |||
--next-- | --next-- | |||
Note that the "implicit" faxback content is given by an EMPTY opaque | Note that the "implicit" faxback content is given by an EMPTY opaque | |||
reference in the middle of the fmtp line in this example. | reference in the middle of the fmtp line in this example. | |||
4.11.Sportsline "headlines" message sent to your phone/pager/fax | 4.11.Sportsline "headlines" message sent to your phone/pager/fax | |||
(i) phone | (i) phone | |||
INVITE sip:R2FB@pint.wwos.skynet.com SIP/2.0 | INVITE sip:R2FB@pint.wwos.skynet.com SIP/2.0 | |||
Via: SIP/2.0/UDP 169.130.12.5 | Via: SIP/2.0/UDP 169.130.12.5 | |||
To:1-900-123-456-7;user=phone;phone-context=+1 | To: sip:1-900-123-456-7@wwos.skynet.com;user=phone;phone-context=+1 | |||
From: sip:fred.football.fan@skynet.com | From: sip:fred.football.fan@skynet.com | |||
Call-ID: 19971205T234505.56.78@chinet.net | Call-ID: 19971205T234505.56.78@chinet.net | |||
CSeq: 4721 INVITE | ||||
Subject: Wonderful World Of Sports NFL Final Scores | Subject: Wonderful World Of Sports NFL Final Scores | |||
Content-type: application/sdp | Content-type: application/sdp | |||
Content-Length: 174 | Content-Length: 220 | |||
v=0 | v=0 | |||
o=- 53655765 2353687637 IN IP4 128.3.4.5 | o=- 2353687800 2353687800 IN IP4 128.3.4.5 | |||
s=R2FB | ||||
i=NFL Final Scores | i=NFL Final Scores | |||
e=fred.football.fan@skynet.com | ||||
c= TN RFC2543 +44-1794-8331013 | c= TN RFC2543 +44-1794-8331013 | |||
t=2353687800 0 | ||||
m=audio 1 voice x-pay | m=audio 1 voice x-pay | |||
a=fmtp:x-pay opr:mci.com/md5:<crypto signature> | a=fmtp:x-pay opr:mci.com/md5:<crypto signature> | |||
(ii) fax | (ii) fax | |||
INVITE sip:R2FB@pint.wwos.skynet.com SIP/2.0 | INVITE sip:R2FB@pint.wwos.skynet.com SIP/2.0 | |||
Via: SIP/2.0/UDP 169.130.12.5 | Via: SIP/2.0/UDP 169.130.12.5 | |||
To:1-900-123-456-7;user=phone;phone-context=+1 | To: sip:1-900-123-456-7@wwos.skynet.com;user=phone;phone-context=+1 | |||
From: sip:fred.football.fan@skynet.com | From: sip:fred.football.fan@skynet.com | |||
Call-ID: 19971205T234505.56.78@chinet.net | Call-ID: 19971205T234505.56.78@chinet.net | |||
CSeq: 4722 INVITE | ||||
Subject: Wonderful World Of Sports NFL Final Scores | Subject: Wonderful World Of Sports NFL Final Scores | |||
Content-type: application/sdp | Content-type: application/sdp | |||
Content-Length: 173 | Content-Length: 217 | |||
v=0 | v=0 | |||
o=- 53655765 2353687637 IN IP4 128.3.4.5 | o=- 2353687820 2353687820 IN IP4 128.3.4.5 | |||
s=R2FB | ||||
i=NFL Final Scores | i=NFL Final Scores | |||
e=fred.football.fan@skynet.com | ||||
c= TN RFC2543 +44-1794-8331010 | c= TN RFC2543 +44-1794-8331010 | |||
t=2353687820 0 | ||||
m=text 1 fax x-pay | m=text 1 fax x-pay | |||
a=fmtp:x-pay opr:mci.com/md5:<crypto signature> | a=fmtp:x-pay opr:mci.com/md5:<crypto signature> | |||
(iii) pager | (iii) pager | |||
INVITE sip:R2FB@pint.wwos.skynet.com SIP/2.0 | INVITE sip:R2FB@pint.wwos.skynet.com SIP/2.0 | |||
Via: SIP/2.0/UDP 169.130.12.5 | Via: SIP/2.0/UDP 169.130.12.5 | |||
To:1-900-123-456-7;user=phone;phone-context=+1 | To: sip:1-900-123-456-7@wwos.skynet.com;user=phone;phone-context=+1 | |||
From: sip:fred.football.fan@skynet.com | From: sip:fred.football.fan@skynet.com | |||
Call-ID: 19971205T234505.56.78@chinet.net | Call-ID: 19971205T234505.56.78@chinet.net | |||
CSeq: 4723 INVITE | ||||
Subject: Wonderful World Of Sports NFL Final Scores | Subject: Wonderful World Of Sports NFL Final Scores | |||
Content-type: application/sdp | Content-type: application/sdp | |||
Content-Length: 173 | Content-Length: 219 | |||
v=0 | v=0 | |||
o=- 53655765 2353687637 IN IP4 128.3.4.5 | o=- 2353687840 2353687840 IN IP4 128.3.4.5 | |||
s=R2FB | ||||
i=NFL Final Scores | i=NFL Final Scores | |||
e=fred.football.fan@skynet.com | ||||
c= TN RFC2543 +44-1794-8331015 | c= TN RFC2543 +44-1794-8331015 | |||
t=2353687840 0 | ||||
m=text 1 pager x-pay | m=text 1 pager x-pay | |||
a=fmtp:x-pay opr:mci.com/md5:<crypto signature> | a=fmtp:x-pay opr:mci.com/md5:<crypto signature> | |||
Note that these are all VERY similar. | Note that these are all VERY similar. | |||
4.12.Automatically giving someone a fax copy of your phone bill | 4.12.Automatically giving someone a fax copy of your phone bill | |||
INVITE sip:BillsRUs@pint.sprint.com SIP/2.0 | INVITE sip:BillsRUs@pint.sprint.com SIP/2.0 | |||
Via: SIP/2.0/UDP 169.130.12.5 | Via: SIP/2.0/UDP 169.130.12.5 | |||
To:+1-555-888-1234;user=phone | To: sip:+1-555-888-1234@fbi.gov;user=phone | |||
From: sip:agent.mulder@fbi.gov | From: sip:agent.mulder@fbi.gov | |||
Call-ID: 19991231T234505.56.78@fbi.gov | Call-ID: 19991231T234505.56.78@fbi.gov | |||
CSeq: 911 INVITE | ||||
Subject: Itemised Bill for January 98 | Subject: Itemised Bill for January 98 | |||
Content-type: application/sdp | Content-type: application/sdp | |||
Content-Length: 117 | Content-Length: 247 | |||
v=0 | v=0 | |||
o=-53655765 2353687637 IN IP4 128.3.4.5 | o=- 2353687860 2353687860 IN IP4 128.3.4.5 | |||
s=BillsRUs | ||||
i=Joe Pendleton's Phone Bill | i=Joe Pendleton's Phone Bill | |||
e=agent.mulder@fbi.gov | ||||
c=TN RFC2543 +1-202-833-1010 | c=TN RFC2543 +1-202-833-1010 | |||
t=2353687860 0 | ||||
m=text 1 fax x-files-id | m=text 1 fax x-files-id | |||
a=fmtp:x-files-id opr:fbi.gov/jdcn-123@45:3des;base64,<signature> | a=fmtp:x-files-id opr:fbi.gov/jdcn-123@45:3des;base64,<signature> | |||
Note: in this case the opaque reference is data used to convince the | Note: in this case the opaque reference is data used to convince the | |||
Executive System that the requester has the right to get this information, | Executive System that the requester has the right to get this information, | |||
rather than selecting the particular content (the A party in the To: field | rather than selecting the particular content (the A party in the To: field | |||
of the SIP "wrapper" does that alone). | of the SIP "wrapper" does that alone). | |||
5. Security Considerations | 5. Security Considerations | |||
5.1. Basic Principles for PINT Use | 5.1. Basic Principles for PINT Use | |||
A PINT Gateway, and the Executive System(s) with which that Gateway is | A PINT Gateway, and the Executive System(s) with which that Gateway is | |||
associated, exist to provide service to PINT Requestors. The aim of the PINT | associated, exist to provide service to PINT Requestors. The aim of the PINT | |||
protocol is to pass requests from those users on to a PINT Gateway so an | protocol is to pass requests from those users on to a PINT Gateway so an | |||
associated Executive System can service those requests. | associated Executive System can service those requests. | |||
5.1.1. Responsibility for service requests | 5.1.1. Responsibility for service requests | |||
The facility of making a PSTN-based call to numbers specified in the PINT | The facility of making a GSTN-based call to numbers specified in the PINT | |||
request, however, comes with some risks. The request can specify an incorrect | request, however, comes with some risks. The request can specify an incorrect | |||
telephone of fax number. It is also possible that the Requestor has purposely | telephone of fax number. It is also possible that the Requestor has purposely | |||
entered the telephone number of an innocent third party. Finally, the request | entered the telephone number of an innocent third party. Finally, the request | |||
may have been intercepted on its way through any intervening PINT or SIP | may have been intercepted on its way through any intervening PINT or SIP | |||
infrastructure, and the request may have been altered. | infrastructure, and the request may have been altered. | |||
In any of these cases, the result may be that a call is placed incorrectly. | In any of these cases, the result may be that a call is placed incorrectly. | |||
Where there is intent or negligence, this may be construed as harrasment of | Where there is intent or negligence, this may be construed as harrasment of | |||
the person incorrectly receiving the call. Whilst the regulatory framework for | the person incorrectly receiving the call. Whilst the regulatory framework for | |||
misuse of Internet connections differs throughout the world and is not always | misuse of Internet connections differs throughout the world and is not always | |||
mature, the rules under which PSTN calls are made are much more settled. | mature, the rules under which GSTN calls are made are much more settled. | |||
Someone may be liable for mistaken or incorrect calls. | Someone may be liable for mistaken or incorrect calls. | |||
Understandably, the PSTN Operators would prefer that this someone is not them, | Understandably, the GSTN Operators would prefer that this someone is not them, | |||
so they will need to ensure that any PINT Gateway and Executive System | so they will need to ensure that any PINT Gateway and Executive System | |||
combination does not generate incorrect calls through some error in the | combination does not generate incorrect calls through some error in the | |||
Gateway or Executive system implementation or PSTN-internal communications | Gateway or Executive system implementation or GSTN-internal communications | |||
fault. Equally, it is important that the Operator can show that they act only | fault. Equally, it is important that the Operator can show that they act only | |||
on requests that they have good reason to believe are correct. This means that | on requests that they have good reason to believe are correct. This means that | |||
the Gateway must not pass on requests unless it is sure that they have not | the Gateway must not pass on requests unless it is sure that they have not | |||
been corrupted in transit from the Requestor. | been corrupted in transit from the Requestor. | |||
If a request can be shown to have come from a particular Requestor and to have | If a request can be shown to have come from a particular Requestor and to have | |||
been acted on in good faith by the PINT service provider, then responsibility | been acted on in good faith by the PINT service provider, then responsibility | |||
for making requests may well fall to the Requestor rather than the Operator | for making requests may well fall to the Requestor rather than the Operator | |||
who executed these requests. | who executed these requests. | |||
Finally, it may be important for the PINT service provider to be able to show | Finally, it may be important for the PINT service provider to be able to show | |||
that they act only on requests for which they have some degree of assurance of | that they act only on requests for which they have some degree of assurance of | |||
origin. In many jurisdictions, it is a requirement on PSTN Operators that they | origin. In many jurisdictions, it is a requirement on GSTN Operators that they | |||
place calls only when they can, if required, identify the parties to the call | place calls only when they can, if required, identify the parties to the call | |||
(such as when required to carry out a Malicious Call Trace). It is at least | (such as when required to carry out a Malicious Call Trace). It is at least | |||
likely that the provider of PINT services will have a similar responsibility | likely that the provider of PINT services will have a similar responsibility | |||
placed on them. | placed on them. | |||
-.-. | ||||
It follows that the PINT service provider may require that the identity of the | It follows that the PINT service provider may require that the identity of the | |||
Requestor be confirmed. If such confirmation is not available, then they may | Requestor be confirmed. If such confirmation is not available, then they may | |||
be forced (or choose) not to provide service. This identification will require | be forced (or choose) not to provide service. This identification will require | |||
personal authentication of the Requesting User. | personal authentication of the Requesting User. | |||
5.1.2. Authority to make requests | 5.1.2. Authority to make requests | |||
Where PSTN resources are used to provide a PINT service, it is at least | Where GSTN resources are used to provide a PINT service, it is at least | |||
possible that someone will have to pay for it. This person may not be the | possible that someone will have to pay for it. This person may not be the | |||
Requestor, as, for example, in the case of existing PSTN split-charging | Requestor, as, for example, in the case of existing GSTN split-charging | |||
services like free phone in which the recipient of a call rather than the | services like free phone in which the recipient of a call rather than the | |||
originator is responsible for the call cost. | originator is responsible for the call cost. | |||
This is not, of course, the only possibility; for example, PINT service may be | This is not, of course, the only possibility; for example, PINT service may be | |||
provided on a subscription basis, and there are a number of other models. | provided on a subscription basis, and there are a number of other models. | |||
However, whichever model is chosen, there may be a requirement that the | However, whichever model is chosen, there may be a requirement that the | |||
authority of a Requestor to make a PINT request is confirmed. | authority of a Requestor to make a PINT request is confirmed. | |||
If such confirmation is not available, then, again, the PINT Gateway and | If such confirmation is not available, then, again, the PINT Gateway and | |||
associated Executive System may choose not to provide service. | associated Executive System may choose not to provide service. | |||
skipping to change at page 38, line 30 | skipping to change at page 39, line 30 | |||
be carried within that request. This can be sensitive information, as an | be carried within that request. This can be sensitive information, as an | |||
eavesdropper might steal this and use it within their own requests. Such | eavesdropper might steal this and use it within their own requests. Such | |||
authority should be treated as if it were financial information (such as a | authority should be treated as if it were financial information (such as a | |||
credit card number or PIN). | credit card number or PIN). | |||
The data authorizing a Requesting User to make a PINT request should be known | The data authorizing a Requesting User to make a PINT request should be known | |||
only to them and the service provider. However, this information may be in a | only to them and the service provider. However, this information may be in a | |||
form that does not match the schemes normally used within the Internet. For | form that does not match the schemes normally used within the Internet. For | |||
example, X.509 certificates[14] are commonly used for secured transactions on | example, X.509 certificates[14] are commonly used for secured transactions on | |||
the Internet both in the IP Security Architecture[12] and in the TLS | the Internet both in the IP Security Architecture[12] and in the TLS | |||
protocol[13], but the PSTN provider may only store an account code and PIN | protocol[13], but the GSTN provider may only store an account code and PIN | |||
(i.e. a fixed string of numbers). | (i.e. a fixed string of numbers). | |||
-.-. | ||||
A Requesting User has a reasonable expectation that their requests for service | A Requesting User has a reasonable expectation that their requests for service | |||
are confidential. For some PINT services, no content data is carried over the | are confidential. For some PINT services, no content data is carried over the | |||
Internet; however, the telephone or fax numbers of the parties to a resulting | Internet; however, the telephone or fax numbers of the parties to a resulting | |||
service calls may be considered sensitive. As a result, it is likely that the | service calls may be considered sensitive. As a result, it is likely that the | |||
Requestor (and their PINT service provider) will require that any request that | Requestor (and their PINT service provider) will require that any request that | |||
is sent across the Internet be protected against eavesdroppers; in short, the | is sent across the Internet be protected against eavesdroppers; in short, the | |||
requests should to be encrypted. | requests should to be encrypted. | |||
-.-. | ||||
5.1.4. Privacy Implications of SUBSCRIBE/NOTIFY | 5.1.4. Privacy Implications of SUBSCRIBE/NOTIFY | |||
Some special considerations relate to monitoring sessions using the SUBSCRIBE | Some special considerations relate to monitoring sessions using the SUBSCRIBE | |||
and NOTIFY messages. The SUBSCRIBE message that is used to register an | and NOTIFY messages. The SUBSCRIBE message that is used to register an | |||
interest in the disposition of a PINT service transaction uses the original | interest in the disposition of a PINT service transaction uses the original | |||
Session Description carried in the related INVITE message. This current | Session Description carried in the related INVITE message. This current | |||
specification does not restrict the source of such a SUBSCRIBE message, so it | specification does not restrict the source of such a SUBSCRIBE message, so it | |||
is possible for an eavesdropper to capture an unprotected sesssion description | is possible for an eavesdropper to capture an unprotected session description | |||
and use this in a subsequent SUBSCRIBE request. In this way it is possible to | and use this in a subsequent SUBSCRIBE request. In this way it is possible to | |||
find out details on that transaction that may well be considered sensitive. | find out details on that transaction that may well be considered sensitive. | |||
The initial solution to this risk is to recommend that a session description | The initial solution to this risk is to recommend that a session description | |||
that may be used within a subsequent SUBSCRIBE message SHOULD be protected. | that may be used within a subsequent SUBSCRIBE message SHOULD be protected. | |||
However, there is a further risk; if the origin-field used is "guessable" then | However, there is a further risk; if the origin-field used is "guessable" then | |||
it might be possible for an attacker to reconstruct the session description | it might be possible for an attacker to reconstruct the session description | |||
and use this reconstruction within a SUBSCRIBE message. | and use this reconstruction within a SUBSCRIBE message. | |||
skipping to change at page 39, line 46 | skipping to change at page 40, line 46 | |||
0. It is important that a PINT Registrar uses authentication of the | 0. It is important that a PINT Registrar uses authentication of the | |||
Registrand, as otherwise one PINT service provider would be able to "spoof" | Registrand, as otherwise one PINT service provider would be able to "spoof" | |||
another and remove their registration. As this would stop the Proxy passing | another and remove their registration. As this would stop the Proxy passing | |||
any requests to that provider, this would both increase requests being sent to | any requests to that provider, this would both increase requests being sent to | |||
the rogue and stop requests going to the victim. | the rogue and stop requests going to the victim. | |||
Another variant on this attack would be to register a Gateway using a name | Another variant on this attack would be to register a Gateway using a name | |||
that has been registered by another provider; thus a rogue Operator might | that has been registered by another provider; thus a rogue Operator might | |||
register its Gateway as "R2C@pint.att.com", thereby hijacking requests. | register its Gateway as "R2C@pint.att.com", thereby hijacking requests. | |||
-.-. | ||||
The solution is the same; all registrations by PINT Gateways MUST be | The solution is the same; all registrations by PINT Gateways MUST be | |||
authenticated; this includes both new or apparent replacement registrations, | authenticated; this includes both new or apparent replacement registrations, | |||
and any cancellation of current registrations. This recommendation is also | and any cancellation of current registrations. This recommendation is also | |||
made in the SIP specification, but for the correct operation of PINT, it is | made in the SIP specification, but for the correct operation of PINT, it is | |||
very important indeed. | very important indeed. | |||
5.3. Security mechanisms and implications on PINT service | 5.3. Security mechanisms and implications on PINT service | |||
PINT is a set of extensions to SIP[1] and SDP[2], and will use the security | PINT is a set of extensions to SIP[1] and SDP[2], and will use the security | |||
procedures described in SIP. There are several implications of this, and these | procedures described in SIP. There are several implications of this, and these | |||
skipping to change at page 40, line 25 | skipping to change at page 41, line 25 | |||
address, such as a Call Centre. | address, such as a Call Centre. | |||
Another aspect of this is that, even if the Requesting User does not consider | Another aspect of this is that, even if the Requesting User does not consider | |||
the telephone or fax numbers of the parties to a PINT service to be private, | the telephone or fax numbers of the parties to a PINT service to be private, | |||
those parties might. Where PINT servers have reason to believe this might be | those parties might. Where PINT servers have reason to believe this might be | |||
the case they SHOULD encrypt the request, even if the Requestor has not done | the case they SHOULD encrypt the request, even if the Requestor has not done | |||
so. This could happen, for example, if a Requesting User within a company | so. This could happen, for example, if a Requesting User within a company | |||
placed a PINT request and this was carried via the company's Intranet to their | placed a PINT request and this was carried via the company's Intranet to their | |||
Proxy/firewall and thence over the Internet to a PINT Gateway at another | Proxy/firewall and thence over the Internet to a PINT Gateway at another | |||
location. | location. | |||
-.-. | ||||
If a request carries data that can be reused by an eavesdropper either to | If a request carries data that can be reused by an eavesdropper either to | |||
"spoof" the Requestor or to obtain PINT service by inserting the Requestor's | "spoof" the Requestor or to obtain PINT service by inserting the Requestor's | |||
authorization token into an eavesdropper's request, then this data MUST be | authorization token into an eavesdropper's request, then this data MUST be | |||
protected. This is particularly important if the authorization token consists | protected. This is particularly important if the authorization token consists | |||
of static text (such as an account code and/or PIN). | of static text (such as an account code and/or PIN). | |||
-.-. | ||||
One approach is to encrypt the whole of the request, using the methods | One approach is to encrypt the whole of the request, using the methods | |||
described in the SIP specification. As an alternative, it may be acceptable | described in the SIP specification. As an alternative, it may be acceptable | |||
for the authorization token to be held as an opaque reference (see section | for the authorization token to be held as an opaque reference (see section | |||
3.4.2.3 and examples 4.11 and 4.12), using some proprietary scheme agreed | 3.4.2.3 and examples 4.11 and 4.12), using some proprietary scheme agreed | |||
between the Requestor and the PINT service provider, as long as this is | between the Requestor and the PINT service provider, as long as this is | |||
resistant to interception and re-use. Also, it may be that the authorization | resistant to interception and re-use. Also, it may be that the authorization | |||
token cannot be used outside of a request cryptographically signed by the | token cannot be used outside of a request cryptographically signed by the | |||
Requestor; if so then this requirement can be relaxed, as in this case the | Requestor; if so then this requirement can be relaxed, as in this case the | |||
token cannot be re-used by another. However, unless both the Requestor and the | token cannot be re-used by another. However, unless both the Requestor and the | |||
Gateway are assured that this is the case, any authorization token MUST be | Gateway are assured that this is the case, any authorization token MUST be | |||
skipping to change at page 41, line 47 | skipping to change at page 42, line 47 | |||
expected to be held in opaque references inside the SDP body part of the | expected to be held in opaque references inside the SDP body part of the | |||
request. | request. | |||
The detailed operation of this mechanism is, by definition, outside the scope | The detailed operation of this mechanism is, by definition, outside the scope | |||
of an Internet Protocol, and so must be considered a private matter. However, | of an Internet Protocol, and so must be considered a private matter. However, | |||
one approach to indicating to the Requestor that such "second level" | one approach to indicating to the Requestor that such "second level" | |||
authentication or authorization is required by their Service Provider would be | authentication or authorization is required by their Service Provider would be | |||
to ask for this inside the textual description carried with a 401 response | to ask for this inside the textual description carried with a 401 response | |||
returned from the PINT Gateway. | returned from the PINT Gateway. | |||
-..- | ||||
5.4. Summary of Security Implications | 5.4. Summary of Security Implications | |||
>From the above discussion, PINT always carries data items that are sensitive, | >From the above discussion, PINT always carries data items that are sensitive, | |||
and there may be financial considerations as well as the more normal privacy | and there may be financial considerations as well as the more normal privacy | |||
concerns. As a result, the transactions MUST be protected from interception, | concerns. As a result, the transactions MUST be protected from interception, | |||
modification and replay in transit. | modification and replay in transit. | |||
PINT is based on SIP and SDP, and can use the security procedures outlined in | PINT is based on SIP and SDP, and can use the security procedures outlined in | |||
[1] (sections 13 and 15). However, in the case of PINT, the SIP recommendation | [1] (sections 13 and 15). However, in the case of PINT, the SIP recommendation | |||
that requests and responses MAY be protected is not enough. PINT messages MUST | that requests and responses MAY be protected is not enough. PINT messages MUST | |||
be protected, so PINT Implementations MUST support SIP Security (as described | be protected, so PINT Implementations MUST support SIP Security (as described | |||
in [1], sections 13 & 15), and be capable of handling such received messages. | in [1], sections 13 & 15), and be capable of handling such received messages. | |||
In some configurations, PINT Clients, Servers, and Gateways can be sure that | In some configurations, PINT Clients, Servers, and Gateways can be sure that | |||
they operate using the services of network level security [13], transport | they operate using the services of network level security [13], transport | |||
layer security [12], or physical security for all | layer security [12], or physical security for all communications between them. | |||
communications between them. In these cases messages MAY be exchanged | In these cases messages MAY be exchanged without SIP security, since all | |||
without SIP security, since all traffic is protected already. Clients | traffic is protected already. Clients and servers SHOULD support manual | |||
configuration to use such lower layer security facilities. | ||||
and servers SHOULD support manual configuration to use such lower | ||||
layer security facilities. | ||||
When using network layer security [13], the Security Policy Database | When using network layer security [13], the Security Policy Database | |||
MUST be configured to provide appropriate protection to PINT traffic. | MUST be configured to provide appropriate protection to PINT traffic. | |||
When using TLS, a port configured MUST NOT also | When using TLS, a port configured MUST NOT also | |||
be configured for non-TLS traffic. When TLS is used, basic authentication | be configured for non-TLS traffic. When TLS is used, basic authentication | |||
MUST be supported, and client-side certificates MAY be supported. | MUST be supported, and client-side certificates MAY be supported. | |||
Authentication of the Client making the request is required, however, so | Authentication of the Client making the request is required, however, so | |||
if this is not provided by the underlying mechanism used, then it MUST be | if this is not provided by the underlying mechanism used, then it MUST be | |||
included within the PINT messages using SIP authentication techniques. In | included within the PINT messages using SIP authentication techniques. In | |||
skipping to change at page 44, line 19 | skipping to change at page 45, line 19 | |||
With PINT, the registration is not for an individual but instead for a | With PINT, the registration is not for an individual but instead for a | |||
service that can be handled by a service provider. Thus, one can envisage a | service that can be handled by a service provider. Thus, one can envisage a | |||
registration by the PINT Server of the domain telcoA.com of its ability to | registration by the PINT Server of the domain telcoA.com of its ability to | |||
support the service R2C as "R2C@telcoA.com", sent to an intermediary server | support the service R2C as "R2C@telcoA.com", sent to an intermediary server | |||
that acts as registrar for the "broker.telcos.com" domain from | that acts as registrar for the "broker.telcos.com" domain from | |||
"R2C@pint.telcoA.com" as follows: | "R2C@pint.telcoA.com" as follows: | |||
REGISTER sip:registrar@broker.telcos.com SIP/2.0 | REGISTER sip:registrar@broker.telcos.com SIP/2.0 | |||
To:sip:R2C@pint.telcoA.com | To:sip:R2C@pint.telcoA.com | |||
From:R2C@pint.telcoA.com | From: sip:R2C@pint.telcoA.com | |||
... | ... | |||
This is the standard SIP registration service. | This is the standard SIP registration service. | |||
However, what happens if there are a number of different Service Providers, | However, what happens if there are a number of different Service Providers, | |||
all of whom support the "R2C" service? Suppose there is a PINT system at | all of whom support the "R2C" service? Suppose there is a PINT system at | |||
domain "broker.com". PINT clients requesting a Request-to-Call service from | domain "broker.com". PINT clients requesting a Request-to-Call service from | |||
broker.com might be very willing to be redirected or proxied to any one of | broker.com might be very willing to be redirected or proxied to any one of | |||
the various service providers that had previously registered with the | the various service providers that had previously registered with the | |||
registrar. PINT servers might also be interested in providing service for | registrar. PINT servers might also be interested in providing service for | |||
skipping to change at page 45, line 16 | skipping to change at page 46, line 16 | |||
(iv) may choose to not allow registrations for the "general" service, | (iv) may choose to not allow registrations for the "general" service, | |||
rejecting all such REGISTER requests. | rejecting all such REGISTER requests. | |||
The algorithm by which such a choice is made will be | The algorithm by which such a choice is made will be | |||
implementation-dependent, and is outside the scope of PINT. Where a | implementation-dependent, and is outside the scope of PINT. Where a | |||
behaviour is to be defined by requesting users, then some sort of call | behaviour is to be defined by requesting users, then some sort of call | |||
processing language might be used to allow those clients, as a pre-service | processing language might be used to allow those clients, as a pre-service | |||
operation, to download the behaviour they expect to the server making such | operation, to download the behaviour they expect to the server making such | |||
decisions. This, however, is a topic for other protocols, not for PINT. | decisions. This, however, is a topic for other protocols, not for PINT. | |||
*-*- | ||||
6.4. Limitations on Available Information and Request Timing for SUBSCRIBE | 6.4. Limitations on Available Information and Request Timing for SUBSCRIBE | |||
A reference configuration for PINT is that service requests are sent, via a | A reference configuration for PINT is that service requests are sent, via a | |||
PINT Gateway, to an Executive System that fulfils the Service Control | PINT Gateway, to an Executive System that fulfils the Service Control | |||
Function (SCF) of an Intelligent Network (see [11]). The success or failure | Function (SCF) of an Intelligent Network (see [11]). The success or failure | |||
of the resulting service call may be information available to the SCF and so | of the resulting service call may be information available to the SCF and so | |||
may potentially be made available to the PINT Gateway. In terms of | may potentially be made available to the PINT Gateway. In terms of | |||
historical record of whether or not a service succeeded, a large SCF may be | historical record of whether or not a service succeeded, a large SCF may be | |||
dealing with a million call attempts per hour. Given that volume of service | dealing with a million call attempts per hour. Given that volume of service | |||
transactions, there are finite limits beyond which it cannot store service | transactions, there are finite limits beyond which it cannot store service | |||
skipping to change at page 46, line 21 | skipping to change at page 47, line 21 | |||
service is running. It may accept these requests and simply not even try to | service is running. It may accept these requests and simply not even try to | |||
query the Executive System until it has information that a service has | query the Executive System until it has information that a service has | |||
completed, merely returning the final status. Thus the PINT Requestor may be | completed, merely returning the final status. Thus the PINT Requestor may be | |||
in what it believes is a monitoring state, whilst the PINT Gateway has not | in what it believes is a monitoring state, whilst the PINT Gateway has not | |||
even informed the Executive System that a request has been made. This will | even informed the Executive System that a request has been made. This will | |||
increase the internal complexity of the PINT Gateway in that it will have a | increase the internal complexity of the PINT Gateway in that it will have a | |||
complex set of interlocking state machines, but does mean that status | complex set of interlocking state machines, but does mean that status | |||
registration and indication CAN be provided in conjunction with an I.N. | registration and indication CAN be provided in conjunction with an I.N. | |||
system. | system. | |||
6.5. Parameters needed for invoking traditional PSTN Services within PINT | 6.5. Parameters needed for invoking traditional GSTN Services within PINT | |||
This section describes how parameters needed to specify certain traditional | This section describes how parameters needed to specify certain traditional | |||
PSTN services can be carried within PINT requests. | GSTN services can be carried within PINT requests. | |||
6.5.1. Service Identifier | 6.5.1. Service Identifier | |||
When a Requesting User asks for a service to be performed, he or she will, | When a Requesting User asks for a service to be performed, he or she will, | |||
of course, have to specify in some way which service. This can be done | of course, have to specify in some way which service. This can be done | |||
in the URLs within the To: header and the Request-URI (see section 3.5.5.1). | in the URLs within the To: header and the Request-URI (see section 3.5.5.1). | |||
6.5.2. A and B parties | 6.5.2. A and B parties | |||
With the Request-to-Talk service, they will also need to specify the A and B | With the Request-to-Call service, they will also need to specify the A and B | |||
parties they want to be engaged in the resulting service call. The A party | parties they want to be engaged in the resulting service call. The A party | |||
could identify, for example, the Call Centre from which they want a call | could identify, for example, the Call Centre from which they want a call | |||
back, whilst the B party is their telephone number (i.e. who the Call Centre | back, whilst the B party is their telephone number (i.e. who the Call Centre | |||
agent is to call). | agent is to call). | |||
The Request-to-Fax and Request-to-Hear-Content services require the B party | The Request-to-Fax and Request-to-Hear-Content services require the B party | |||
to be specified (respectively the telephone number of the destination Fax | to be specified (respectively the telephone number of the destination Fax | |||
machine or the telephone to which spoken content is to be delivered), but | machine or the telephone to which spoken content is to be delivered), but | |||
the A party is a Telephone Network based resource (either a Fax or speech | the A party is a Telephone Network based resource (either a Fax or speech | |||
transcoder/sender), and is implicit; the Requesting User does not (and | transcoder/sender), and is implicit; the Requesting User does not (and | |||
cannot) specify it. | cannot) specify it. | |||
With the "Fax-Back" variant of the Request-to-Fax service, (i.e. where the | With the "Fax-Back" variant of the Request-to-Fax service, (i.e. where the | |||
content to be delivered resides on the GSTN) they will also have specify two | content to be delivered resides on the GSTN) they will also have specify two | |||
parties. As before, the B party is the telephone number of the fax machine | parties. As before, the B party is the telephone number of the fax machine | |||
to which they want a fax to be sent. However, within this variant the A | to which they want a fax to be sent. However, within this variant the A | |||
party identifies the "document context" for the PSTN-based document store | party identifies the "document context" for the GSTN-based document store | |||
from which a particular document is to be retrieved; the analogy here is to | from which a particular document is to be retrieved; the analogy here is to | |||
a PSTN user dialling a particular telephone number and then entering the | a GSTN user dialling a particular telephone number and then entering the | |||
document number to be returned using "touch tone" digits. The telephone | document number to be returned using "touch tone" digits. The telephone | |||
number they dial is that of the document store or A party, with the "touch | number they dial is that of the document store or A party, with the "touch | |||
tone" digits selecting the document within that store. | tone" digits selecting the document within that store. | |||
6.5.3. Other Service Parameters | 6.5.3. Other Service Parameters | |||
In terms of the extra parameters to the request, the services again differ. | In terms of the extra parameters to the request, the services again differ. | |||
The Request-to-Talk service needs only the A and B parties. Also it is | The Request-to-Call service needs only the A and B parties. Also it is | |||
convenient to assert that the resulting service call will carry voice, as | convenient to assert that the resulting service call will carry voice, as | |||
the Executive System within the destination GSTN may be able to check that | the Executive System within the destination GSTN may be able to check that | |||
assertion against the A and B party numbers specified and may treat the call | assertion against the A and B party numbers specified and may treat the call | |||
differently. | differently. | |||
With the Request-to-Fax and Request-to-Hear-Content services, the source | With the Request-to-Fax and Request-to-Hear-Content services, the source | |||
information to be transcoded is held on the Internet. That means either that | information to be transcoded is held on the Internet. That means either that | |||
this information is carried along with the request itself, or that a | this information is carried along with the request itself, or that a | |||
reference to the source of this information is given. In addition, it is | reference to the source of this information is given. In addition, it is | |||
convenient to assert that the service call will carry fax or voice, and, | convenient to assert that the service call will carry fax or voice, and, | |||
where possible, to specify the format for the source information. | where possible, to specify the format for the source information. | |||
The PSTN-based content or "Fax-Back" variant of the Request-to-Fax service | The GSTN-based content or "Fax-Back" variant of the Request-to-Fax service | |||
needs to specify the Document Store number and the Fax machine number to | needs to specify the Document Store number and the Fax machine number to | |||
which the information is to be delivered. It is convenient to assert that | which the information is to be delivered. It is convenient to assert that | |||
the call will carry Fax data, as the destination Executive System may be | the call will carry Fax data, as the destination Executive System may be | |||
able to check that assertion against the document store number and that of | able to check that assertion against the document store number and that of | |||
the destination Fax machine. | the destination Fax machine. | |||
In addition, the document number may also need to be sent. This parameter is | In addition, the document number may also need to be sent. This parameter is | |||
an opaque reference that is carried through the Internet but has | an opaque reference that is carried through the Internet but has | |||
significance only within the GSTN. The document store number and document | significance only within the GSTN. The document store number and document | |||
number together uniquely specify the actual content to be faxed. | number together uniquely specify the actual content to be faxed. | |||
6.5.4. Service Parameter Summary | 6.5.4. Service Parameter Summary | |||
The following table summarises the information needed in order to specify | The following table summarises the information needed in order to specify | |||
fully the intent of a PSTN service request. Note that it excludes any other | fully the intent of a GSTN service request. Note that it excludes any other | |||
parameters (such as authentication or authorisation tokens, or Expires: or | parameters (such as authentication or authorisation tokens, or Expires: or | |||
CallId: headers) that may be used in a request. | CallId: headers) that may be used in a request. | |||
Service ServiceID AParty BParty CallFmt Source SourceFmt | Service ServiceID AParty BParty CallFmt Source SourceFmt | |||
------- --------- ------ ------ ------- ------ ------- | ------- --------- ------ ------ ------- ------ ------- | |||
R2C x x x voice - - | R2C x x x voice - - | |||
R2F x - x fax URI/IL ISF/ILSF | R2F x - x fax URI/IL ISF/ILSF | |||
R2FB x x x fax OR - | R2FB x x x fax OR - | |||
R2HC x - x voice URI/IL ISF/ILSF | R2HC x - x voice URI/IL ISF/ILSF | |||
In this table, "x" means that the parameter is required, whilst "-" means | In this table, "x" means that the parameter is required, whilst "-" means | |||
that the parameter is not required. | that the parameter is not required. | |||
The Services listed are Request to Talk (R2C), Request to Fax (R2F), the | The Services listed are Request-to-Call (R2C), Request-to-Fax (R2F), the | |||
PSTN-based content or "Fax-back" Variant of Request-to-Fax (R2FB), and | GSTN-based content or "Fax-back" Variant of Request-to-Fax (R2FB), and | |||
Request-to-Hear-Content (R2HC). | Request-to-Hear-Content (R2HC). | |||
The Call Format parameter values "voice" or "fax" indicate the kind of | The Call Format parameter values "voice" or "fax" indicate the kind of | |||
service call that results. | service call that results. | |||
The Source Indicator "URI/IL" implies either that the data is either an | The Source Indicator "URI/IL" implies either that the data is either an | |||
Internet source reference (a Universal Resource Identifier, or URI) or is | Internet source reference (a Universal Resource Identifier, or URI) or is | |||
carried "in-line" with the message. The Source indicator "OR" means that | carried "in-line" with the message. The Source indicator "OR" means that | |||
the value passed is an Opaque Reference that should be carried along | the value passed is an Opaque Reference that should be carried along | |||
skipping to change at page 48, line 25 | skipping to change at page 49, line 25 | |||
specified either in terms of the URI or that it is carried "in-line". Note | specified either in terms of the URI or that it is carried "in-line". Note | |||
that, for some data, the format either can be detected by inspection or, if | that, for some data, the format either can be detected by inspection or, if | |||
all else fails, can be assumed from the URI (for example, by assuming that | all else fails, can be assumed from the URI (for example, by assuming that | |||
the file extension part of a URL indicates the data type). For an opaque | the file extension part of a URL indicates the data type). For an opaque | |||
reference, the Source Format is not available on the Internet, and so is not | reference, the Source Format is not available on the Internet, and so is not | |||
given. | given. | |||
6.6. Parameter Mapping to PINT Extensions | 6.6. Parameter Mapping to PINT Extensions | |||
This section describes the way in which the parameters needed to specify a | This section describes the way in which the parameters needed to specify a | |||
PSTN service request fully might be carried within a "PINT extended" message. | GSTN service request fully might be carried within a "PINT extended" message. | |||
There are other choices, and these are not precluded. However, in order to | There are other choices, and these are not precluded. However, in order to | |||
ensure that the Requesting User receives the service that they expect, it is | ensure that the Requesting User receives the service that they expect, it is | |||
necessary to have some shared understanding of the parameters passed and the | necessary to have some shared understanding of the parameters passed and the | |||
behaviour expected of the PINT Server and its attendant Executive System. | behaviour expected of the PINT Server and its attendant Executive System. | |||
The Service Identifier can be sent as the userinfo element of the | The Service Identifier can be sent as the userinfo element of the | |||
Request-URI. Thus, the first line of a PINT Invitation would be of the form: | Request-URI. Thus, the first line of a PINT Invitation would be of the form: | |||
INVITE <serviceID>@<pint-server>.<domain> SIP/2.0 | INVITE <serviceID>@<pint-server>.<domain> SIP/2.0 | |||
The A Party for the Request-to-Talk and "Fax-back" variant of Request-to-Fax | The A Party for the Request-to-Call and "Fax-back" variant of Request-to-Fax | |||
service can be held in the "To:" header field. In this case the "To:" header | service can be held in the "To:" header field. In this case the "To:" header | |||
value will be different from the Request-URI. In the services where the A | value will be different from the Request-URI. In the services where the A | |||
party is not specified, the "To:" field is free to repeat the value held in | party is not specified, the "To:" field is free to repeat the value held in | |||
the Request-URI. This is the case for Request-to-Fax and | the Request-URI. This is the case for Request-to-Fax and | |||
Request-to-Hear-Content services. | Request-to-Hear-Content services. | |||
The B party is needed in all these milestone services, and can be held in | The B party is needed in all these milestone services, and can be held in | |||
the enclosed SDP sub-part, as the value of the "c=" field. | the enclosed SDP sub-part, as the value of the "c=" field. | |||
The call format parameter can be held as part of the "m=" field value. It | The call format parameter can be held as part of the "m=" field value. It | |||
maps to the "transport protocol" element as described in section 3.4.2 of | maps to the "transport protocol" element as described in section 3.4.2 of | |||
this document. | this document. | |||
..-- | ||||
The source format specifier is held in the "m=", as a type and optional | The source format specifier is held in the "m=", as a type and either "-" | |||
sub-type. The latter is normally required for all services except | or sub-type. The latter is normally required for all services except | |||
Request-to-Talk. As shown earlier, the source format and source are not | Request-to-Call or "Faxback", where the "-" form may be used. As shown | |||
always required when generating requests for services. However, the inclusion | earlier, the source format and source are not always required when | |||
in all requests of a source format specifier can make parsing the request | generating requests for services. However, the inclusion in all requests | |||
simpler and allows for other services to be specified in the future, and so | of a source format specifier can make parsing the request simpler and | |||
values are always given. The source format parameter is covered in section | allows for other services to be specified in the future, and so values | |||
3.4.2 as the "media type" element. | are always given. The source format parameter is covered in section 3.4.2 | |||
as the "media type" element. | ||||
The source itself is identified by an "a=fmtp:" field value, where needed. | The source itself is identified by an "a=fmtp:" field value, where needed. | |||
With the exception of the Request-to-Talk service, all invitations will | With the exception of the Request-to-Call service, all invitations will | |||
normally include such a field. From the perspective of the SDP extensions, | normally include such a field. From the perspective of the SDP extensions, | |||
it can be considered as qualifying the media sub-type, as if to say, | it can be considered as qualifying the media sub-type, as if to say, | |||
for example, "when I say jpeg, what I mean is the following". | for example, "when I say jpeg, what I mean is the following". | |||
In summary, the parameters needed by the different services are carried in | In summary, the parameters needed by the different services are carried in | |||
fields as shown in the following table: | fields as shown in the following table: | |||
Service Svc Param PINT/SIP or SDP field used Example value | Service Svc Param PINT/SIP or SDP field used Example value | |||
------- --------- -------------------------- ------------- | ------- --------- -------------------------- ------------- | |||
skipping to change at page 50, line 25 | skipping to change at page 51, line 25 | |||
preceding m= field> a=fmtp:html <uri-ref> | preceding m= field> a=fmtp:html <uri-ref> | |||
7. Open Issues and Draft State | 7. Open Issues and Draft State | |||
7.1. Open Issues | 7.1. Open Issues | |||
Thre are no current technical open issues. | Thre are no current technical open issues. | |||
7.2. Draft State | 7.2. Draft State | |||
Please note that changes are cumulative. | This draft reflects all changes resulting from the WG "last call" phase. | |||
Changes from version 00: | ||||
* Removed References to Q763 parameters. | ||||
It is difficult to see how these prameters could be passed to an Intelligent | ||||
Network System, and in many potential configurations this information would | ||||
not be accepted, as it did not come from a "trusted" source. | ||||
* Removed references to ITU and other standardisation efforts. | ||||
A PINT standards-track RFC cannot really refer to standards that are in | ||||
progress. The set of IETF references are to documents that are on the | ||||
Standards Track. Standardisation efforts in other organisations are subject | ||||
to change and so these references are not appropriate. | ||||
Changes from version 01 to previous interim version: | ||||
* Corrected a few typos, orphaned internal references, and some of the | ||||
examples. | ||||
* Made a few corrections and added some comments on changes to be expected | ||||
in the next draft. These were highlighted by **** before the affected | ||||
paragraphs. | ||||
* Removed references to the Telephony URL draft that has expired. It seems | ||||
likely that the SIP draft will reach RFC status first. | ||||
Changes from interim version to profile version 03: | ||||
* removed previous change marks | ||||
* New changes are indicated by *-*- in the text above the change | ||||
* Corrected a few more typos, and re-visited the examples | ||||
(thanks to Francois for the MIME comments!) | ||||
* removed refs to out of date Internet Conference Architecture draft | ||||
from "Introduction" | ||||
* Corrected a few more typos, and re-visited the examples | ||||
* added initial summary list for new PINT features | ||||
in "PINT Protocol Architecture" | ||||
* added a comment on the MIME version implied by PINT 1.0 | ||||
in "PINT Protocol Architecture" | ||||
* added sub-section number for SDP description in "PINT Protocol | ||||
Architecture" | ||||
* added sub-section number for SIP description in "PINT Protocol | ||||
Architecture" | ||||
* removed reference to Security mechanisms in "SIP Operation in PINT" | ||||
* added strictures as MUST and split into separate paras for clarity in | ||||
"REQUIRED and OPTIONAL elements for PINT compliance" | ||||
* added comment that PINT features may be useful for SIP/SDP in "REQUIRED | ||||
and OPTIONAL elements for PINT compliance" | ||||
* changed E.164 number -> N.P.A., and added local dialling plan number | ||||
in " Network Type "TN" and Address Type "RFC2543" | ||||
* added an introductory section on data object support in PINT & rewrote | ||||
section in "Support for Data Objects within PINT" | ||||
* added section on opaque references in "Support for Data Objects within | ||||
PINT" | ||||
* changed section number and reworked text in "Session Description | ||||
support for included Data Objects" | ||||
* removed ref to former (non-tagged) method of checking resolution type | ||||
in "Session Description support for included Data Objects" | ||||
* moved last part of section to the SIP description, leaving a ref. in | ||||
"Session Description support for included Data Objects" | ||||
* highlighted that attributes may appear as PINT URL parameters in SIP in | ||||
"Attribute Tags to pass information into the Telephone Network" | ||||
* moved para from end of "phone-context attribute" to main body of | ||||
"Attribute Tags to pass information into the Telephone Network" | ||||
* added sub-section added (by request) on "Presentation Restriction | ||||
attribute" | ||||
* Re-introduced sub-section on "CalledPartyAddress attributes parameters" | ||||
(Q763 parameters), also by request | ||||
* added comment on the general form of Q763 attributes to the original | ||||
content of this section | ||||
* added a comment that all PINT extensions can be covered by Strictures | ||||
to "The "strict" attribute" | ||||
* moved some orphaned text from "Session Description support for included | ||||
Data Objects" into "Multi-part MIME" | ||||
* removed sub-section on " PINT URLS within To: headers" and comments on | ||||
"1-800-FLOWERS" style telephony URLs | ||||
* removed references to wildcards in REGISTER messages within " REGISTER | ||||
requests within PINT" | ||||
* replaced example 4.8 with new examples 4.8 - 4.12 | ||||
* added section on "Limitations on Available Information and Request | ||||
Timing for SUBSCRIBE" | ||||
* added a few references that were missing | ||||
* added "Collected ABNF" Appendix. | ||||
Changes from profile version 3 to verion 4: | ||||
* New changes are indicated by a -*-* mark on the line before the change | ||||
* added a Security Considerations Section | ||||
* really added the comment on PINT/SIP implying MIME 1.0 this time! | ||||
* added ABNF definition for the use of PINT attributes as URL parameters | ||||
* added ABNF definition of tsp URL parameter | ||||
* added a statement that there are no current technical open issues | ||||
* corrected boilerplate | ||||
* added reference to SIP RFC number. | ||||
Changes from profile version 4 to this version (indicated by -.-.) | ||||
* In section 4.1, changed wording to emphasize that a "+1" number falls | ||||
within the N.A.N.P. region. | ||||
* Changed Ordering of Authors. | ||||
* Changed incorrect reference to SIP in 3.4.4 - should be SDP | ||||
* CHANGED! "strict:" SDP attribute to "require:" throughout | ||||
* Corrected typos in 3.1 and 4.6 and 3.4.3.1, clarified text in 3.4.1 | ||||
* Changed title (repl. "profile" with more appropriate terms throughout) | ||||
* CHANGED! SHOULD to MUST in 5.2 and also in 5.3 | ||||
* Added section on privacy implications of identifying the associated | ||||
requst within SUBSCRIBE (section 5.1.4) | ||||
* Added IANA Considerations Appendix | ||||
* CHANGED! specification of Port value to "1" for PINT in 3.4.2 and ABNF | ||||
* CHANGED! spec of "defaulted" media sub-type; uses "-" rather than empty | ||||
ABNF CHANGES: | ||||
* throughout, changed "|" to "/" as per RFC2234 (oops). | ||||
* changed use of "<" and ">" throughout. these now imply a definition | ||||
in another document (except for the initial connection-field | ||||
definition that is merely copied to the PINT ABNF for completeness). | ||||
* re-ordered rules to have refinements follow from dependent rules | ||||
* added comments to show which rule names are redefinitions of SDP/SIP | ||||
names. Where the redefinitions are not pure supersets, comment is | ||||
preceded with "NOTE". | ||||
* removed stray "media " from the pint-fmtp definition. | ||||
* added space separators within PINT variant of fmtp attribute to | ||||
deleniate the resolution items, if there's more than one. | ||||
* changed definition of PINT variant of fmtp attribute to allow existing | ||||
SDP attributes to be appended. Note that this allows zero or more sets | ||||
of one or more attributes, with a semi-colon preceeding each set, and | ||||
with spaces separating each attribute from its neighbours. | ||||
* comma-separated values for require-header and strict-attribute. | ||||
* added terminals for each of the tags used in attributes/parameters. | ||||
* corrected mistaken ABNF definition of strict/require attribute | ||||
- it should include just the field tags, not complete attributes! | ||||
* changed the tag value of the strict attribute to "require" for | ||||
consistency with the equivalent(ish) require-header, as per request. | ||||
Note that they now share the same tag value ("require:"). | ||||
* added strict-attribute to the list of PINT/SDP attributes (duh!) | ||||
* added some extra rule names for common elements (for q763xx) | ||||
* added the fmtp explicit source type tags (uri, spr, and opr) to the | ||||
list of items that may be specified in a strict-attribute. For PINT, | ||||
the expected behaviour on the part of a recipient (as mentioned in the | ||||
body text) is that it should fail an Invitation including one of these | ||||
constructs that it doesn't support. However, including these in a | ||||
strict-attribute allows them to be used in the wider SIP/SDP context | ||||
(e.g. as part of an OPTIONS message exchange). | ||||
Changes from "protocol" version 00 to this version (indicated by -..-) | ||||
* Security summary section 5.4 clarified and improved | ||||
8. References | 8. References | |||
[1] M. Handley, E. Schooler, H. Schulzrinne, & J. Rosenberg, | [1] M. Handley, E. Schooler, H. Schulzrinne, & J. Rosenberg, | |||
"SIP: Session Initiation Protocol", RFC2543, | "SIP: Session Initiation Protocol", RFC2543, | |||
Internet Engineering Task Force, March 1999. | Internet Engineering Task Force, March 1999. | |||
[2] M. Handley & V. Jacobsen, | [2] M. Handley & V. Jacobsen, | |||
"SDP: Session Description Protocol", RFC2327, | "SDP: Session Description Protocol", RFC2327, | |||
Internet Engineering Task Force, April 1998. | Internet Engineering Task Force, April 1998. | |||
[3] N. Freed & N. Borenstein, | [3] N. Freed & N. Borenstein, | |||
"Multipurpose Internet Mail Extensions (MIME) | "Multipurpose Internet Mail Extensions (MIME) | |||
Part One: Format of Internet Message Bodies", | Part One: Format of Internet Message Bodies", | |||
RFC2045, November 1996. | RFC2045, November 1996. | |||
[4] N. Freed & N. Borenstein, | [4] N. Freed & N. Borenstein, | |||
"Multipurpose Internet Mail Extensions (MIME) | "Multipurpose Internet Mail Extensions (MIME) | |||
Part Two: Media Types", | Part Two: Media Types", | |||
skipping to change at page 53, line 54 | skipping to change at page 52, line 28 | |||
"Internet X.509 Public Key Infrastructure Certificate and CRL Profile", | "Internet X.509 Public Key Infrastructure Certificate and CRL Profile", | |||
RFC2459, Internet Engineering Task Force, January 1999. | RFC2459, Internet Engineering Task Force, January 1999. | |||
[15] D. Crocker & P. Overall, | [15] D. Crocker & P. Overall, | |||
"Augmented BNF for Syntax Specifications: ABNF", RFC2234, | "Augmented BNF for Syntax Specifications: ABNF", RFC2234, | |||
Internet Engineering Task Force, November 1997. | Internet Engineering Task Force, November 1997. | |||
[16] D. Mills, "Network Time Protocol (version 3) specification and | [16] D. Mills, "Network Time Protocol (version 3) specification and | |||
implementation", RFC1305, Internet Engineering Task Force, March 1992. | implementation", RFC1305, Internet Engineering Task Force, March 1992. | |||
[17] D. Eastlake, S. Crocker & J.Schiller, | [17] D. Eastlake, S. Crocker & J.Schiller, | |||
"Randomness Recommendations for Security", Informational RFC 1305, | "Randomness Recommendations for Security", Informational RFC 1305, | |||
Internet Engineering Task Force, March 1992. | Internet Engineering Task Force, March 1992. | |||
[18] P. Mockapetris, | ||||
"Domain Names - Implementation and Specification" RFC 1035, | ||||
Inernet Engineering Task Force November 1987. | ||||
9. Acknowledgements | 9. Acknowledgements | |||
The authors wish to thank the members of the PINT working group for comments | ||||
that were helpful to the preparation of this specification. Ian Elz's | The authors wish to thank the members of the PINT working group for | |||
comments were extremely useful to our understanding of internal PSTN | comments that were helpful to the preparation of this specification. | |||
operations. The SUBSCRIBE and NOTIFY requests were first suggested by | Ian Elz's comments were extremely useful to our understanding of internal | |||
Henning Schulzrinne and Jonathan Rosenberg. | PSTN operations. The SUBSCRIBE and NOTIFY requests were first suggested | |||
by Henning Schulzrinne and Jonathan Rosenberg. Finally, thanks to Bernie | ||||
Hoeneisen for his close proofreading. | ||||
Appendix A: Collected ABNF for PINT Extensions | Appendix A: Collected ABNF for PINT Extensions | |||
;; --(ABNF is specified in RFC 2234 [15]) | ;; --(ABNF is specified in RFC 2234 [15]) | |||
;; --Variations on SDP definitions | ;; --Variations on SDP definitions | |||
connection-field = ["c=" nettype space addrtype space | connection-field = ["c=" nettype space addrtype space | |||
connection-address CRLF] | connection-address CRLF] | |||
; -- this is the original definition from SDP, included for completeness | ; -- this is the original definition from SDP, included for completeness | |||
; -- the following are PINT interpretations and modifications | ; -- the following are PINT interpretations and modifications | |||
skipping to change at page 55, line 17 | skipping to change at page 54, line 17 | |||
; -- 0 retains usual sdp meaning of "temporarily no media" | ; -- 0 retains usual sdp meaning of "temporarily no media" | |||
; -- (i.e. "line is on hold") | ; -- (i.e. "line is on hold") | |||
; -- (1 means there is media) | ; -- (1 means there is media) | |||
proto = (INProto/TNProto) | proto = (INProto/TNProto) | |||
; -- redefined as a superset of the original SDP definition | ; -- redefined as a superset of the original SDP definition | |||
INProto = 1* (<alpha-numeric>) | INProto = 1* (<alpha-numeric>) | |||
; -- this is the "classic" SDP protocol, defined if nettype == "IN" | ; -- this is the "classic" SDP protocol, defined if nettype == "IN" | |||
; -- alpha-numeric is as defined in SDP | ; -- alpha-numeric is as defined in SDP | |||
..-- | ||||
TNProto = ("phone"/"fax"/"pager") | TNProto = ("voice"/"fax"/"pager") | |||
; -- this is the PINT protocol, defined if nettype == "TN" | ; -- this is the PINT protocol, defined if nettype == "TN" | |||
fmt = (<subtype> / "-") | fmt = (<subtype> / "-") | |||
; -- NOTE redefined as a subset of the original SDP definition | ; -- NOTE redefined as a subset of the original SDP definition | |||
; -- subtype as defined in RFC2046, or "-". MUST be a subtype of type held | ; -- subtype as defined in RFC2046, or "-". MUST be a subtype of type held | |||
; -- in associated media sub-field or the special value "-". | ; -- in associated media sub-field or the special value "-". | |||
-.-. | ||||
attribute-fields = *("a=" attribute-list <CRLF>) | attribute-fields = *("a=" attribute-list <CRLF>) | |||
; -- redefined as a superset of the definition given in SDP | ; -- redefined as a superset of the definition given in SDP | |||
; -- CRLF is as defined in SDP | ; -- CRLF is as defined in SDP | |||
attribute-list = 1(PINT-attribute / <attribute>) | attribute-list = 1(PINT-attribute / <attribute>) | |||
; -- attribute is as defined in SDP | ; -- attribute is as defined in SDP | |||
-.-. | ||||
PINT-attribute = (clir-attribute / q763-nature-attribute / | PINT-attribute = (clir-attribute / q763-nature-attribute / | |||
q763plan-attribute / q763-INN-attribute / | q763plan-attribute / q763-INN-attribute / | |||
phone-context-attribute / | phone-context-attribute / tsp-attribute / | |||
pint-fmtp-attribute / strict-attribute) | pint-fmtp-attribute / strict-attribute) | |||
-.-. | ||||
clir-attribute = clir-tag ":" ("true" / "false") | clir-attribute = clir-tag ":" ("true" / "false") | |||
-.-. | ||||
clir-tag = "clir" | clir-tag = "clir" | |||
-.-. | ||||
q763-nature-attribute = Q763-nature-tag ":" q763-natures | q763-nature-attribute = Q763-nature-tag ":" q763-natures | |||
-.-. | ||||
q763-nature-tag = "Q763-nature" | q763-nature-tag = "Q763-nature" | |||
-.-. | ||||
q763-natures = ("1" / "2" / "3" / "4") | q763-natures = ("1" / "2" / "3" / "4") | |||
-.-. | ||||
q763-plan-attribute = Q763-plan-tag ":" q763-plans | q763-plan-attribute = Q763-plan-tag ":" q763-plans | |||
-.-. | ||||
q763-plan-tag = "Q763-plan" | q763-plan-tag = "Q763-plan" | |||
-.-. | ||||
q763-plans = ("1" / "2" / "3" / "4" / "5" / "6" / "7") | q763-plans = ("1" / "2" / "3" / "4" / "5" / "6" / "7") | |||
; -- of these, the meanings of 1, 3, and 4 are defined in the text | ; -- of these, the meanings of 1, 3, and 4 are defined in the text | |||
-.-. | ||||
q763-INN-attribute = Q763-INN-tag ":" q763-INNs | q763-INN-attribute = Q763-INN-tag ":" q763-INNs | |||
-.-. | ||||
q763-INN-tag = "Q763-INN" | q763-INN-tag = "Q763-INN" | |||
-.-. | ||||
q763-INNs = ("0" / "1") | q763-INNs = ("0" / "1") | |||
-.-. | ||||
phone-context-attribute = phone-context-tag ":" phone-context-ident | phone-context-attribute = phone-context-tag ":" phone-context-ident | |||
-.-. | ||||
phone-context-tag = "phone-context" | phone-context-tag = "phone-context" | |||
phone-context-ident = network-prefix / private-prefix | phone-context-ident = network-prefix / private-prefix | |||
network-prefix = intl-network-prefix / local-network-prefix | network-prefix = intl-network-prefix / local-network-prefix | |||
intl-network-prefix = "+" 1*<DIGIT> | intl-network-prefix = "+" 1*<DIGIT> | |||
local-network-prefix = 1*<DIGIT> | local-network-prefix = 1*<DIGIT> | |||
private-prefix = 1*excldigandplus 0*<uric> | private-prefix = 1*excldigandplus 0*<uric> | |||
excldigandplus = (0x21-0x2d,0x2f,0x40-0x7d)) | excldigandplus = (0x21-0x2d,0x2f,0x40-0x7d)) | |||
..-- | ||||
tsp-attribute = tsp-tag "=" provider-domainname | ||||
tsp-tag = "tsp" | ||||
provider-domainname = <domain> | ||||
; -- domain is defined in RFC1035 | ||||
-.-. | ||||
; -- NOTE the following is redefined relative to the normal use in SDP | ; -- NOTE the following is redefined relative to the normal use in SDP | |||
pint-fmtp-attribute = "fmtp:" <subtype> <space> resolution | pint-fmtp-attribute = "fmtp:" <subtype> <space> resolution | |||
*(<space> resolution) | *(<space> resolution) | |||
(<space> ";" 1(<attribute>) *(<space> <attribute>)) | (<space> ";" 1(<attribute>) *(<space> <attribute>)) | |||
; -- subtype as defined in RFC2046. | ; -- subtype as defined in RFC2046. | |||
; -- NOTE that this value MUST match a fmt on the ultimately preceeding | ; -- NOTE that this value MUST match a fmt on the ultimately preceeding | |||
; -- media-field | ; -- media-field | |||
; -- attribute is as defined in SDP | ; -- attribute is as defined in SDP | |||
-.-. | ||||
resolution = (uri-ref / opaque-ref / sub-part-ref) | resolution = (uri-ref / opaque-ref / sub-part-ref) | |||
-.-. | ||||
uri-ref = uri-tag ":" <URI-Reference> | uri-ref = uri-tag ":" <URI-Reference> | |||
; -- URI-Reference defined in RFC2396 | ; -- URI-Reference defined in RFC2396 | |||
-.-. | ||||
uritag = "uri" | uritag = "uri" | |||
-.-. | ||||
opaque-ref = opr-tag ":" 0*<uric> | opaque-ref = opr-tag ":" 0*<uric> | |||
-.-. | ||||
opr-tag = "opr" | opr-tag = "opr" | |||
-.-. | ||||
sub-part-ref = spr-tag ":" <Content-ID> | sub-part-ref = spr-tag ":" <Content-ID> | |||
; -- Content-ID is as defined in RFC2046 and RFC822 | ; -- Content-ID is as defined in RFC2046 and RFC822 | |||
-.-. | ||||
spr-tag = "spr" | spr-tag = "spr" | |||
-.-. | ||||
strict-attribute = "require:" att-tag-list | strict-attribute = "require:" att-tag-list | |||
-.-. | ||||
att-tag-list = 1(PINT-att-tag-list / <att-field> / | att-tag-list = 1(PINT-att-tag-list / <att-field> / | |||
pint-fmtp-tag-list) | pint-fmtp-tag-list) | |||
*("," | *("," | |||
(PINT-att-tag-list / <att-field> / | (PINT-att-tag-list / <att-field> / | |||
pint-fmtp-tag-list) | pint-fmtp-tag-list) | |||
) | ) | |||
; -- att-field as defined in SDP | ; -- att-field as defined in SDP | |||
-.-. | ||||
PINT-att-tag-list = (phone-context-tag / clir-tag / | PINT-att-tag-list = (phone-context-tag / clir-tag / | |||
q763-nature-tag / q763-plan-tag / | q763-nature-tag / q763-plan-tag / | |||
q763-INN-tag) | q763-INN-tag) | |||
-.-. | ||||
pint-fmtp-tag-list = (uri-tag / opr-tag / spr-tag) | pint-fmtp-tag-list = (uri-tag / opr-tag / spr-tag) | |||
;; --Variations on SIP definitions | ;; --Variations on SIP definitions | |||
-.-. | ||||
clir-parameter = clir-tag "=" ("true" / "false") | clir-parameter = clir-tag "=" ("true" / "false") | |||
-.-. | ||||
q763-nature-parameter = Q763-nature-tag "=" Q763-natures | q763-nature-parameter = Q763-nature-tag "=" Q763-natures | |||
-.-. | ||||
q763plan-parameter = Q763-plan-tag "=" q763plans | q763plan-parameter = Q763-plan-tag "=" q763plans | |||
-.-. | ||||
q763-INN-parameter = Q763-INN-tag "=" q763-INNs | q763-INN-parameter = Q763-INN-tag "=" q763-INNs | |||
-.-. | tsp-parameter = tsp-tag "=" provider-domainname | |||
tsp-parameter = tsp-tag "=" <hostname> | ||||
; -- hostname is as defined in SIP | ||||
-.-. | ||||
tsp-tag = "tsp" | ||||
-.-. | ||||
phone-context-parameter = phone-context-tag "=" phone-context-ident | phone-context-parameter = phone-context-tag "=" phone-context-ident | |||
SIP-param = ( <transport-param> / <user-param> / <method-param> / | SIP-param = ( <transport-param> / <user-param> / <method-param> / | |||
<ttl-param> / <maddr-param> / <other-param> ) | <ttl-param> / <maddr-param> / <other-param> ) | |||
; -- the values in this list are all as defined in SIP | ; -- the values in this list are all as defined in SIP | |||
PINT-param = ( clir-parameter / q763-nature-parameter / | PINT-param = ( clir-parameter / q763-nature-parameter / | |||
q763plan-parameter / q763-INN-parameter/ | q763plan-parameter / q763-INN-parameter/ | |||
tsp-parameter / phone-context-parameter ) | tsp-parameter / phone-context-parameter ) | |||
URL-parameter = (SIP-param / PINT-param) | URL-parameter = (SIP-param / PINT-param) | |||
; -- redefined SIP's URL-parameter to include ones defined in PINT | ; -- redefined SIP's URL-parameter to include ones defined in PINT | |||
-.-. | ||||
Require-header = "require:" 1(required-extensions) | Require-header = "require:" 1(required-extensions) | |||
*("," required-extensions) | *("," required-extensions) | |||
; -- NOTE this is redefined as a subset of the SIP definition | ; -- NOTE this is redefined as a subset of the SIP definition | |||
; -- (from RFC2543/section 6.30) | ; -- (from RFC2543/section 6.30) | |||
-.-. | ||||
required-extensions = ("org.ietf.sip.subscribe" / | required-extensions = ("org.ietf.sip.subscribe" / | |||
"org.ietf.sdp.require") | "org.ietf.sdp.require") | |||
Appendix B: IANA Considerations | Appendix B: IANA Considerations | |||
There are three kinds of identifier used in PINT extensions that SHOULD | There are three kinds of identifier used in PINT extensions that SHOULD | |||
be registered with IANA, if a new value is specified. These are: | be registered with IANA, if a new value is specified. These are: | |||
* Media Format sub-types, as described in section 3.4.2 of this document. | * Media Format sub-types, as described in section 3.4.2 of this document. | |||
* Private Attributes as mentioned in section 3.4.3 | * Private Attributes as mentioned in section 3.4.3 | |||
* Private Phone Context values, as described in section 3.4.3.1. | * Private Phone Context values, as described in section 3.4.3.1. | |||
End of changes. 253 change blocks. | ||||
453 lines changed or deleted | 303 lines changed or added | |||
This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |