Internet Engineering Task Force                                  PINT WG
Internet Draft                                               Schulzrinne
draft-ietf-pint-sip-00.txt                                    Columbia U.
November 20, 1997
Expires: April 1, 1998

           SIP for Click-To-Dial-Back and Third-Party Control


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

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

   To learn the current status of any Internet-Draft, please check the
   ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
   Directories on (Africa), (Europe), (Pacific Rim), (US East Coast), or (US West Coast).

   Distribution of this document is unlimited.

1 Introduction

   SIP  can also be used to control calls established by other entities,
   for example, to have a computer control a PBX or a web server ask an
   SCP to initiate a call to a standard telephone (''click-to-dial-
   back''). We refer to the entity initiating the phone call as the
   controller and the PBX or SCP as the PSTN server.

2 Outgoing Call

   The controller sends an  INVITE request to the PSTN server. The SIP
   request contains information about the caller and the call, e.g.,
   from a web form. The PSTN server may use this information in
   initiating the call. The telephone number to be called is contained
   in the  c (connection) parameter of the SDP body. For example, if the
   subscriber with number 415 555 1200 wants to initiate a call through
   her local PBX to the subscriber at 1-212-555-1234, her SIP client
   issues the following request to the PBX:

Schulzrinne                                                   [Page 1]

Internet Draft                    SIP                  November 20, 1997

     INVITE sip://
     Content-type: application/sdp

     o=user1 53655765 2353687637 IN IP4
     c=PSTN E.164 +1-415-555-1200
     t=0 0
     m=audio 0 RTP/AVP 0

   Camp-on is realized with the SIP  Call-Disposition "queue" parameter.

3 Answering Incoming Calls

   If a controller receives a SIP call, it may indicate in its 200
   response to send the audio to a given telephone number, as indicated
   in the previous section. Alternatively, it can include the phone
   number in a redirection response, but then it is assumed that further
   call control is handled by the phone device, not the controller. It
   can also reject the call with the standard SIP codes. Call forwarding
   is handled with standard SIP 30x status codes.

   accept call          200
   blind transfer        BYE, with new destination
   forward, no anser    408
   forward, busy        600
   forward call         301 or 302,  Location contains address

4 Placing Calls on Hold

   The party wishing to place the other party on hold sends an  INVITE
   for the existing call identifier, with an SDP description indicating
   a zero port number for the media types it currently does not wish to
   receive. This also allows media-specific hold, e.g., to ask the other
   side temporarily not to send video. Music-on-hold is implemented by
   asking an RTSP server to play to the IP address (or phone number)
   provided in the RTSP  SETUP request.

5 Call Parking

   A user can send an  INVITE to an existing call id and cause it to
   move to a new extension. [Alternative: PARK request]

6 Call Transfer

Schulzrinne                                                   [Page 2]

Internet Draft                    SIP                  November 20, 1997

   To transfer an existing call blindly, the controller sends a BYE
   containing a  Location header indicating the phone number the call is
   to be transferred to.

   For supervised call transfer, the controller initiates a call to the
   destination of the call, placing the existing call on hold. It then
   sends a  BYE, as above, for the first call. The PBX can transfer back
   the call to the first destination if the call transfer fails.

7 Configuring the Local PBX

   A controller can control a PBX by issuing a  REGISTER request with
   call-handling specification. This call-handling specification can be
   in a number of programming languages and formats, including a simple
   list of parameters as a  text/parameter. Table 1 lists the parameters
   currently defined. The  REGISTER response returns the current
   configuration. [TBD: Could use GET_PARAMETER and SET_PARAMETER


   autoanswer: on
   callsparked: 5
   forward_busy: +1-415-555-1234
   forward_all: off

   autoanswer       on, off
   autoanswerspk    on, off
   callsparked      integer

   Table 1: Configuring PBX behavior using SIP

   Table 2: Parameters

Schulzrinne                                                   [Page 3]