HTTP/1.1 200 OK Date: Tue, 09 Apr 2002 06:18:37 GMT Server: Apache/1.3.20 (Unix) Last-Modified: Sat, 06 Dec 1997 09:47:40 GMT ETag: "2e6fb3-1503-34891f3c" Accept-Ranges: bytes Content-Length: 5379 Connection: close Content-Type: text/plain 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 STATUS OF THIS MEMO This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as ``work in progress''. To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). 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://1-212-555-1234@pbx.example.com From: j.doe@example.com Content-type: application/sdp v=0 o=user1 53655765 2353687637 IN IP4 128.3.4.5 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 instead.] Examples: 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]