Internet DRAFT - draft-alexiou-sipping-allocate

draft-alexiou-sipping-allocate




SIPPING Working Group                                  T. Alexiou 
Internet Draft                                         J. Lennox 
Document: <draft-alexiou-sipping-allocate-00.txt>      K. Murakami 
                                                       Lucent 
                                                       Technologies 
                                                        
Expires: August 2002                                   February 2002 
    
 
                        The SIP ALLOCATE Method 
    
    
    
Status of this Memo 
 
   This document is an Internet-Draft and is in full conformance with 
   all provisions of Section 10 of RFC2026 [1]. 
    
   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 become obsolete 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."  
    
   The list of current Internet-Drafts can be accessed at 
   http://www.ietf.org/ietf/1id-abstracts.txt  
    
   The list of Internet-Draft Shadow Directories can be accessed at 
   http://www.ietf.org/shadow.html. 
    
   The distribution of this memo is unlimited. 
 
Abstract 
    
   This document defines ALLOCATE, a new method extending the SIP 
   protocol. ALLOCATE is a request to a SIP/PSTN gateway or Media 
   Gateway Controller to create a dynamic and short-lived binding 
   between a PSTN telephone number and a set of SIP URIs. 
    
Table of Contents 
    
   Status of this Memo................................................1 
   Abstract...........................................................1 
   Table of Contents..................................................1 
   1 Introduction.....................................................2 
   2 Example Use......................................................2 
   3 ALLOCATE Method..................................................3 
   3.1 Constructing the Request.......................................3 
   3.2 Processing the Request.........................................4 
   3.3 Call setup.....................................................5 
   4 Security Considerations..........................................5 
 
 
T. Alexiou, J. Lennox, K. Murakami    Expires August 2002       Page 1 
<draft-alexiou-sipping-allocate-00.txt>                  February 2002 
 
 
   5 IANA Considerations..............................................6 
   6 Message Examples.................................................6 
   7 References.......................................................6 
   8 Authors' Addresses...............................................7 
   9 Acknowledgements.................................................7 
   10 IPR Statement...................................................7 
   11 Full Copyright Statement........................................7 
    
1 Introduction 
    
   This document defines ALLOCATE, a new method extending the SIP [2] 
   protocol. ALLOCATE is a request to a SIP/PSTN gateway or Media 
   Gateway Controller (MGC) [3] to create a dynamic and short-lived 
   binding between a PSTN telephone number and a set of SIP URIs.  This 
   telephone number, which we call a Temporary SIP Gateway Number 
   (TSGN), is similar in purpose to a routing number in wireless 
   networks. Once the gateway is contacted through PSTN signaling (such 
   as an IAM ISUP message) with this TSGN number after the binding is 
   created, the gateway issues INVITE requests to the addresses 
   specified in the ALLOCATE request to complete the call. 
 
   Existing techniques for mapping a telephone number to a set of SIP 
   URLs, such as Enum [4] or a REGISTER request sent to a telephone 
   number, assume that the telephone number space is under the control 
   of the entity performing the assignments; TRIP [6] was mainly meant 
   for routing calls from SIP networks to PSTN. This model, however, 
   deals with the opposite direction: many ALLOCATE requestors may 
   obtain temporary gateway numbers from a single gateway, dynamically 
   on a per user/call basis. The pool of temporary numbers must 
   therefore be under the control of the gateway, not the requestor, so 
   a new technique is needed. 
 
   IETF protocols for temporary leases of resources out of a pool, such 
   as DHCP [5] or MADCAP [7], do currently exist.  However, these 
   protocols are primarily designed for very specific problem domains, 
   such as use on a local-area network or for allocating multicast 
   addresses with only loose coupling, and none of them are terribly 
   well suited for the wide-area use that this usage scenario requires.  
   No existing protocols are directly suitable to exactly this purpose.  
   As the scenario simply has request and response semantics, any of 
   the multitudinous existing Internet request/response protocols could 
   potentially provide the transport for this scenario; there is not an 
   extremely strong argument for any of them.  However, since the 
   devices to be used must already speak SIP, and since SIP's syntax 
   and semantics are designed to represent telephony-style resources, 
   SIP seems the most appropriate protocol for this purpose. 
 
2 Example Use 
    
   The ALLOCATE method, combined with cellular network technologies, 
   allows the selection of a media gateway dynamically upon delivering 
   a call from a circuit switched network to a SIP terminal. This 
 
 
T. Alexiou, J. Lennox, K. Murakami    Expires August 2002       Page 2 
<draft-alexiou-sipping-allocate-00.txt>                  February 2002 
 
 
   contrasts with the current prevailing approach of statically 
   determining a media gateway by the directory number, regardless of 
   the location of the end terminal. 
    
   In cellular networks, a dynamically assigned routing number is 
   employed to deliver a call to the roaming subscriber via circuit-
   switched networks. ALLOCATE makes it possible to obtain such routing 
   number from any desirable SIP gateway. With this routing number, a 
   call can be relayed through the PSTN networks to the gateway, which 
   then attempts to deliver the call to the provided contact addresses.  
    
   A specific example of this is shown in Figure 1.  The ISUP network 
   queries the mobility manager with a routing information request.  
   The mobility manager then asks a gateway to allocate a TSGN for a 
   particular user's contact addresses. The gateway returns the TSGN in 
   the 200 OK message, and the mobility manager sends the TSGN back to 
   the ISUP network. Then the ISUP network issues an IAM addressed with 
   the TSGN, which the PSTN routes to the gateway.  When the gateway 
   receives the IAM, it initiates SIP INVITE requests to the addresses 
   which were specified in the ALLOCATE request. 
    
   The SIP request and response messages for this example's ALLOCATE 
   transaction are shown in Section 6. 
    
    |---------| 
    |  ISUP   |      5. IAM (TSGN) 
    | Network | -------------------------- 
    |---------|                           | 
        ^  |                              | 
   4.   |  |                              | 
   Rsp  |  | 1. Routing Info              | 
  (TSGN)|  |    Request                   | 
        |  |                              | 
        |  |                              | 
        |  \/                             \/ 
    |---------|   2. ALLOCATE                   6. INVITE alice@office 
    | Mobility|---------------------->|------|------------------------> 
    | Manager |<--------------------- |  GW  |------------------------> 
    |---------|      3. 200 OK        |------|  6'. INVITE alice@lab 
                  Contact: <tel:TSGN> 
 
                      Figure 1: Example Call Flow 
    
3 ALLOCATE Method 
    
   The ALLOCATE method is structured much like the REGISTER method. 
   However the semantics of the Contact, To, and From headers are 
   different as described in the following section. There is also one 
   additional header, Allocate-For.  There are no new response codes, 
   bodies, or special processing requirements for proxies. 
    
3.1 Constructing the Request 
 
 
T. Alexiou, J. Lennox, K. Murakami    Expires August 2002       Page 3 
<draft-alexiou-sipping-allocate-00.txt>                  February 2002 
 
 
 
   A client issuing an ALLOCATE constructs its headers as detailed 
   below: 
    
   To: The To header field contains a SIP URL representing the initial 
        gateway to which the request was sent.  As with REGISTER, this 
        will generally have only a 'host' component and no 'user' 
        component. 
 
   From: The From header field contains a SIP URL representing the 
        requestor.  If the destination gateway is using SIP-layer 
        authentication to authenticate the requestor, this field is 
        used as the key to determine the authentication credentials to 
        be used (as with REGISTER). 
    
   Contact: At least one Contact address, to be bound to a TSGN by the 
        server, must be present. The client can use the "expires" 
        header field parameter (or an Expires header) to indicate how 
        long it wishes the binding to be valid.  (An expiration value 
        of three minutes is RECOMMENDED.) 
    
           Note: three minutes is an initial estimate of an 
           appropriate expiration timer; the optimal value for 
           this timer is for further study. 
    
        The addresses specified in the Contact header field SHOULD be 
        SIP or SIPS URIs, unless the requestor has out-of-band 
        knowledge that the gateway supports routing calls to other URI 
        schemes. 
 
   Allocate-For: This optional header indicates an E.164 address of the 
        entity on whose behalf the allocation is being performed, 
        through which the PSTN call will be routed.  The syntax of this 
        header is the same as that of Contact.  Gateways, or gateway 
        location servers, MAY use this information to choose an 
        appropriate gateway, in order to minimize, e.g. the length of 
        the PSTN call leg.  Allocate requestors SHOULD include this 
        information if it is available. 
    
   Other SIP header fields and the SIP Request-URI are constructed in 
   the standard manner specified by the SIP specification.  ALLOCATE 
   requests contain no content bodies. 
    
3.2 Processing the Request 
    
   If the received request contains multiple Contact addresses, the 
   server MUST be able to fork or sequentially search for the user 
   based on the q preference value; otherwise it MUST reject the 
   request with a 488 Not Acceptable Here response code. 
    
   If the server decides to accept the request, it sends the client a 
   200 OK response. The response MUST include one Contact header with 
 
 
T. Alexiou, J. Lennox, K. Murakami    Expires August 2002       Page 4 
<draft-alexiou-sipping-allocate-00.txt>                  February 2002 
 
 
   exactly one Contact header field containing the TSGN, expressed as a 
   "tel" URI [8].  The TSGN SHOULD be in global (E.164) format, and 
   SHOULD NOT contain an isdn-subaddress or other components which 
   would prevent it from being globally reachable. 
    
   The server MUST indicate how long the binding is valid with an 
   "expires" Contact header field parameter.  The server MAY lower the 
   expiration time from the value specified in the request, but MUST 
   NOT increase it. 
    
   If the expiration period in the request is shorter than is supported 
   by the server, the server rejects the request with the status 423 
   Interval Too Brief, and includes a Min-Expires header in the 
   response indicating the shortest expiration period supported. 
    
   If subsequent ALLOCATE requests (in new transactions) arrive for the 
   same set of Contact addresses, they are processed independently, and 
   should obtain different TSGNs. 
    
3.3 Call setup 
    
   When a PSTN call placed to the TSGN arrives at the gateway, the 
   gateway initiates SIP INVITE requests to the SIP addresses specified 
   in the ALLOCATE message's Contact header field.  Once the INVITE 
   transactions have been initiated, the binding between the TSGN and 
   the set of SIP addresses is removed. 
    
   The binding is alternatively removed when the "expires" timer 
   specified by the server has elapsed.  Gateways SHOULD avoid re-using 
   TSGNs for some period of time after a binding has expired, to avoid 
   accidental collision between old and new bindings. 
    
4 Security Considerations 
    
   The security requirements and considerations in the SIP 
   specification apply to the ALLOCATE method. Trust models or security 
   associations between clients and servers are beyond the scope of 
   this document. The authors wish that the definition of this 
   extension be orthogonal to the current or future security models for 
   SIP. 
    
   For example, Denial of Service attack against the server by 
   unauthenticated users, to exhaust the available TSGNs, is among the 
   obvious attacks. Minimally, the digest authentication mechanism used 
   for SIP registrations can apply to the ALLOCATE method for 
   authentication between domains. 
    
   Gateways SHOULD avoid exposing the TSGN in the INVITE methods they 
   generate after receiving the PSTN call setup.  This will help 
   somewhat to avoid session hijacking by callers calling TSGN numbers 
   for sessions they have not been assigned.  In the absence of 
   authentication in the PSTN, however, this problem will still remain; 
 
 
T. Alexiou, J. Lennox, K. Murakami    Expires August 2002       Page 5 
<draft-alexiou-sipping-allocate-00.txt>                  February 2002 
 
 
   gateways which have administrative relationships with all PSTN 
   entities authorized to transit through them SHOULD verify at least 
   the PSTN source of the call. 
    
5 IANA Considerations 
    
   This document defines a new SIP method name (ALLOCATE), and a new 
   header field (Allocate-For). 
    
6 Message Examples 
    
   In the following example, the gateway gw58.ca.pstn-gws.example 
   binds, for 180 seconds, the TSGN +13235554258 to the Contact 
   addresses in the request. 
    
   ALLOCATE sip:gw58.ca.pstn-gws.example SIP/2.0 
   Via: SIP/2.0/UDP nj.mobility-manager.example:5060 
   From: <sip:nwelem47.nj.mobility-manager.example> 
   To: <sip:gw58.ca.pstn-gws.example> 
   Call-ID: 1234567890@nwelem47.nj.mobility-manager.example 
   CSeq: 1 ALLOCATE 
   Max-Forwards: 70 
   Contact: "Alice at work" <sip:alice@office.work.com>; expires=180 
   Contact: "Alice in the lab" <sip:alice@lab.work.com>; expires=180 
   Allocate-For: <tel:+18475550000> 
   Content-Length: 0 
    
   SIP/2.0 200 OK 
   Via: SIP/2.0/UDP nj.mobility-manager.example:5060 
   From: <sip:nwelem47.nj.mobility-manager.example> 
   To: <sip:gw58.ca.pstn-gws.example> 
   Call-ID: 1234567890@nwelem47.nj.mobility-manager.example 
   CSeq: 1 ALLOCATE 
   Contact: <tel:+13235554258>; expires=180 
   Content-Length: 0 
    
7 References 
 
 [1]       Bradner, S., "The Internet Standards Process -- Revision 3", BCP 
      9, RFC 2026, October 1999. 
 [2]       J. Rosenberg, H. Schulzrinne, et al., "SIP: Session Initiation 
      Protocol", draft-ietf-sip-rfc2543-bis-08, February 2002.  Work in 
      progress. 
 [3]       F. Cuervo et al, "Megaco Protocol Version 1.0", RFC 3015, 
      November 2000. 
 [4]       P. Falstrom, "E.164 number and DNS", RFC 2916, September 2000. 
 [5]       R. Droms, "Dynamic Host Configuration Protocol", RFC 2131, March 
      1997. 
 [6]       J. Rosenberg, H. Salama, M. Squire, "Telephony Routing over IP 
      (TRIP)", RFC 3219, January 2002. 
 [7]       S. Hanna, B. Patel, and M. Shah, "Multicast Address Dynamic 
      Client Allocation Protocol (MADCAP)", RFC 2730, December 1999. 
 
 
T. Alexiou, J. Lennox, K. Murakami    Expires August 2002       Page 6 
<draft-alexiou-sipping-allocate-00.txt>                  February 2002 
 
 
 [8]       H. Schulzrinne and A. Vaha-Sipila, "URIs for Telephone Calls", 
      draft-antti-rfc2806bis-02.txt, February 2002.  Work in progress. 
 
8 Authors' Addresses 
 
   Triantafyllos Alexiou 
   101 Crawfords Corner Rd 
   Room: 4J-513A 
   Holmdel, NJ 07733 
   Tel:   +1 732 332-5559 
   Email: akis@lucent.com 
    
   Jonathan Lennox 
   101 Crawfords Corner Rd 
   Room: 4F-516 
   Holmdel, NJ 07733 
   Tel:   +1 732 332-6063 
   Email: lennox@lucent.com 
 
   Kazutaka Murakami 
   101 Crawfords Corner Rd 
   Room: 4G-512 
   Holmdel, NJ 07733 
   Tel:   +1 732 949-6028 
   Email: kmurakami@lucent.com 
 
9 Acknowledgements 
    
   We thank Henning Schulzrinne, Tom La Porta, and Oliver Haase for 
   their comments on this proposal. 
    
10 IPR Statement 
    
   Lucent Technologies may have intellectual property rights on the 
   example scenario described in section 2.  The ALLOCATE method itself 
   is unencumbered to the best of our knowledge. 
    
11 Full Copyright Statement 
    
   Copyright (c) The Internet Society (2002). All Rights Reserved. 
    
   This document and translations of it may be copied and furnished to 
   others, and derivative works that comment on or otherwise explain it    
   or assist in its implementation may be prepared, copied, published 
   distributed, in whole or in part, without restriction of any    
   kind, provided that the above copyright notice and this paragraph 
   are included on all such copies and derivative works. However, this    
   document itself may not be modified in any way, such as by removing    
   the copyright notice or references to the Internet Society or other    
   Internet organizations, except as needed for the purpose of 
   developing Internet standards in which case the procedures for 
   defined in the Internet Standards process must be followed, or as 
 
 
T. Alexiou, J. Lennox, K. Murakami    Expires August 2002       Page 7 
<draft-alexiou-sipping-allocate-00.txt>                  February 2002 
 
 
   required to translate it into languages other than English. 
    
   The limited permissions granted above are perpetual and will not be 
   revoked by the Internet Society or its successors or assigns. 
    
   This document and the information contained herein is provided on an 
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING    
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
T. Alexiou, J. Lennox, K. Murakami    Expires August 2002       Page 8