Internet DRAFT - draft-foster-mgcp-nas

draft-foster-mgcp-nas




Internet Engineering Task Force                               B. Foster 
Internet Draft                                           R. Subramaniam 
Document: <draft-foster-mgcp-nas-03.txt>                  Cisco systems 
Category: Informational                                   February 2002 
Expires: August 2002 
 
 
                         NAS packages for MGCP 
 
Status of this Document 
 
  This document is an Internet-Draft and is in full conformance with 
  all provisions of Section 10 of RFC2026 
   
  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." 
   
  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. 
 
1. Abstract 
   
  This document contains two MGCP packages that define the signaling 
  interface for data calls between a Call Agent and a Network Access 
  Server (NAS). 
   
2. Conventions used in this document 
   
  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
  "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this 
  document are to be interpreted as described in RFC-2119. 
   
   
3. Introduction 
   
  This document contains two packages: 
   
     * A basic NAS package that provides the interface to a Call Agent 
       for handling modem calls that terminate on the NAS and originate 
       from the public switched telephone network (PSTN). This includes 
       the ability to handle callback requests. 
     * A data out package that is used for the case when a packet 
       arrives at the NAS for some network that is accessible via dial-
       out. 
   
 
B. Foster, R. Subramaniam    Informational                     [Page 1] 

                         NAS Packages for MGCP            February 2002 

4. Basic NAS Package 
 
   Package Name: NAS 
 
4.1. Package Description 
   
  The NAS typically performs call admission control based on a request 
  it sends out to an AAA server. Results of the authorization are 
  passed as notifications to the Call Agent. The basic NAS package 
  provides: 
   
     * The necessary events (section 4.2) to indicate if the 
       authorization succeeded or was denied, an event to handle 
       callback requests, and an (operation fail) event for handling 
       pre-authentication failure cases. 
     * A new connection mode (section 4.3) to handle the one-sided data 
       connection that is associated with connecting to a NAS. 
     * New Local Connection Options (section 4.4.) associated with 
       making a data connection to the NAS 
     * Package specific error codes (section 4.5) and 
     * Package specific reason codes (section 4.6) 
   
4.2. Events and Signals 
   
  The following events are part of this package 
   
         ----------------------------------------------------------- 
        | Symbol |   Definition             |   R |   S     Duration| 
        |-----------------------------------------------------------| 
        | au     |  Authorization succeeded |  x  |                 | 
        | ax     |  Authorization denied    |  x  |                 | 
        | crq    |  Call Request            |  x  |                 | 
        | of     |  NAS failure             |  x  |                 | 
         ----------------------------------------------------------- 
   
4.2.1. Authorization Succeeded (au):  
   
  Event indicating that authorization succeeded. 
   
4.2.2. Authorization Failed (ax):  
   
  Event indicating that authorization   failed. 
   
4.2.3. Call Request Event (crq):  
   
  This event is used to indicate a request by the endpoint to make an 
  outgoing call (call-back request). For outgoing data calls as a 
  result of a packet arrival, refer to the NAO package in section 5. 
   
  The "crq" event may be parameterized with one or more of the 
  following parameters: 
   
  cdn(<destination-number>) where <destination-number> is a string 
  representing the number to be called. 
 
B. Foster, R. Subramaniam    Informational                     [Page 2] 

                         NAS Packages for MGCP            February 2002 

   
  cgn(<calling-number>) where <calling-number> is a string representing 
  the number to be called. 
   
  bw(<bandwidth>) where the <bandwidth> is one of the two values "56" 
  or "64". 
   
  bt (<bearer-type>) where <bearer-type> can be one of either "modem" 
  or "digital" 
   
  If there is more than one parameter, parameters are separated by 
  commas. 
 
4.2.4 Operation Fail (of):  
 
  This event may occur as a result of any failure prior to successful 
  initiation of service. Once service has begun, it indicates that the 
  NAS was unable to communicate with the AAA server. 
      
           1: NAS internal error  
           2: modems failed to train  
           3: no response from AAA server 
           4: general pre-authentication failure 
      
  Example operation fail observed event indicating a NAS internal 
  error: 
   
   O: nas/of(1) 
   
   
4.3. Connection Mode 
 
  The basic NAS package includes the "data" connection mode. This 
  should be encoded with the package prefix so in this case: 
   
       M: nas/data 
 
   
4.4. Local Connection options 
   
  The following local connection options are associated with the NAS 
  package. They are specified with the create connection (CRCX) command 
  to pass additional parameters to enable call admission control. They 
  are: 
    
   * Called party number encoded as "nas/cdn" followed by colon,  
     followed by a string indicating the called party number 
   
   * calling party number encoded as "nas/cgn" followed by colon 
     followed by the calling party number 
   
   * type of bearer encoded as "nas/bt" followed by a colon followed by 
     one of either "modem" or "digital"  
   
 
B. Foster, R. Subramaniam    Informational                     [Page 3] 

                         NAS Packages for MGCP            February 2002 

  Example usage in a NAS environment: 
   
     CRCX 3001 ds/ds1-1/1@nas123.whatever.net MGCP 1.0 
     C: 463793 
     M: nas/data 
     L: nas/cdn:2374899,nas/cgn:2371234,nas/bt:modem  
   
4.5. Error Codes  
       
  The following package specific error codes are included as part of 
  the NAS package: 
       
     Code    Text                 Explanation  
                                    
     800     ISP Port Limit       The call cannot be connected  
             Overrun              because allocation of a modem  
                                  would cause the configured port  
                                  limit for the ISP to be exceeded.  
                                    
     801     No Modems Available  NAS has no more modems available  
                                  to use for this call.  
                                    
     802     Calling Number       The calling number is being  
             Unacceptable         blocked or is not allowed to call  
                                  this service.  
                                    
     803     Called Number        The called number supplied is  
             Unacceptable         unknown or blocked by this  
                                  gateway.  
   
  Note that package specific error codes should include the package 
  name following the error code. For example, if error code 801 occurs 
  in response to a request with a transaction ID of 1001 it would be 
  sent as: 
   
     801 1001 /NAS 
      

















 
B. Foster, R. Subramaniam    Informational                     [Page 4] 

                         NAS Packages for MGCP            February 2002 

4.6. Reason Codes 
 
  In cases where the NAS session has terminated at a point in time 
  subsequent to registration of the first accounting record for the 
  service, a delete connection would be sent with one of the reason 
  codes below. 
   
  The reason codes are as defined for the RADIUS Acct-Terminate-Cause 
  event (see RFC 2866). The list of values is reproduced here for 
  information. See RFC 2866 for detailed definitions. 
   
         801       User Request  
         802       Lost Carrier  
         803       Lost Service  
         804       Idle Timeout  
         805       Session Timeout  
         806       Admin Reset  
         807       Admin Reboot  
         808       Port Error  
         809       NAS Error  
         810       NAS Request  
         811       NAS Reboot  
         812       Port Unneeded  
         813       Port Preempted  
         814       Port Suspended  
         815       Service Unavailable  
         816       Callback  
         817       User Error  
         818       Host Request  
 
  Note that package specific reason codes should have package name as a 
  suffix (e.g. E: 801 /NAS). 
   
5. NAS Data Out Package 
 
   Package Name: NAO 
 
5.1. Package Description: 
   
  The purpose of this package is to support outgoing calls by a data 
  network user. The package contains a new event (section 5.2) and a 
  new local connection option (section 5.3). 
 
   
5.2. Events and Signals 
   
  The following event is part of this package 
   
         ----------------------------------------------------------- 
        | Symbol |   Definition             |  R  |   S     Duration| 
        |-----------------------------------------------------------| 
        |  rq    |  Outgoing Call request   |  P  |                 | 
         ----------------------------------------------------------- 
   
 
B. Foster, R. Subramaniam    Informational                     [Page 5] 

                         NAS Packages for MGCP            February 2002 

  This is a persistent event (i.e. does not have to be requested by the 
  Call Agent). It will be generated from a virtual endpoint when a data 
  packet arrives from the data network and a call out is requested. The 
  endpoint corresponding to a particular ds0 need not be specified. The 
  Call Agent responds by doing a create connection on an available 
  (real) endpoint. 
   
  The "rq"  event is parameterized with the following parameters: 
   
  cdn(<destination-number>) where <destination-number> is a string 
  representing the number to be called. 
   
  duh(<data-user-handle>) where <data-user-handle> is a string 
  representing a handle to an existing user data network connection 
  which is to be provided outgoing service.  This value is generated by 
  and is of local significance to the gateway. It is supplied later as 
  a local connection option as part of the subsequent create connection 
  request. 
   
  Each of the parameters is separated by a comma e.g.  
   
     O: nao/rq(cdn(19193922345),duh(39848)) 
   
5.3. Local Connection Option 
   
  This package adds a new local connection option to be used by the 
  Call Agent when it does a create connection subsequent to receiving 
  the "rq" event. This is the "data user handle" local connection 
  option. This parameter is encoded with the letters "duh" followed by 
  a colon, followed by the value of the data user handle from the 
  previously received "rq" event. 
   
  Example: 
   
  Notify (from a virtual endpoint) occurs as a result of a packet 
  arrival at the NAS: 
   
        NTFY 3001 vt/21@gw1.whatever.net MGCP 1.0 
        X: 0 
        O: nao/orq(cdn(5903333),nao/duh(3478)) 
   
  The resulting connection request from the Call Agent to the gateway 
  might look as follows: 
   
        CRCX 2002 ds/ds1-3/6@gw1.whatever.net MGCP 1.0 
        C: A7453949499 
        L: nas/cdn:5903333,nao/duh:3478 
        M: nas/data 
 





 
B. Foster, R. Subramaniam    Informational                     [Page 6] 

                         NAS Packages for MGCP            February 2002 

6. Call flows 
 
6.1. Incoming Call (Modem) 
========================== 
 
  1. Call Agent receives SS7 IAM message (SS7 is assumed in the  
     following call flows although other signaling interfaces are also  
     possible (e.g. PRI, CAS) 
 
  2. Call Agent sends a create connection to the NAS 
 
   CRCX 1001 ds/ds1-3/6@nas1.dept234.net MGCP 1.0 
   X: 012389 
   C: 847384 
   M: nas/data 
   L: nas/cdn:123455,nas/cgn:2345,nas/bt:digital,b:64 
   R: nas/of, nas/au, nas/ax 
 
   * The First line is command line for create connection. 
   * The second line includes the request identifier for the 
     notification request (associated with the R: line) 
   * The third line contains the call ID 
   * The fourth line specifies connection mode = data (required for 
     NAS) 
   * The fifth line specifies the local connection options which 
     provides the cgn, cdn, bandwidth and the bearer type. 
   * The sixth line is a request to be notified if there is an 
     operation failure ("of" event) or authorization success ("au") or 
     failure ("ax" event). 
 
  3. The Media Gateway does some pre-authentication checks.  
  
   a)  If successful it will return the following to the Call Agent 
 
       200 1001 OK 
       I: 234567 
       
       Line 1 specifies response code 200 with the transaction ID 
       Line 2 specifies the connection Id 
   
   b) If these pre-authentication checks fail, then the NAS  
      responds with an error indication such as 
 
      801 1001 /NAS 
 
      where 801 is a new return code to denote that there were no  
      modems available. 
 
  4. Suppose the CRCX in 3 a) was successful. Then one of the following  
   could happen: 
 
  a) Suppose the authorization was successful. In that case, the Call  
     Agent would receive a notification to that affect: 
 
 
B. Foster, R. Subramaniam    Informational                     [Page 7] 

                         NAS Packages for MGCP            February 2002 

      NTFY 3001  ds/ds1-3/6@nas1.dept234.net MGCP 1.0 
      X: 012389 
      O: nas/au 
 
      The  Call Agent would then respond with  
 
      200 3001 OK 
 
 
  b) Suppose instead there was a Modem failure after the CRCX but prior  
     to the AAA sequence. In that case, the MG would send an  
     operation fail event to Call Agent as follows 
      
      NTFY 3001  ds/ds1-3/6@nas1.dept234.net MGCP 1.0 
      X: 012389 
      O: nas/of(2) 
 
     Where the parameter "2" indicates " modems failed to train" 
   
      The Call Agent might then respond with  
 
      200 3001 OK 
 
   and follow that with a delete connection 
 
      DLCX 1002 ds/ds1-3/6@nas1.dept234.net MGCP 1.0 
      C: 847384 
      I: 234567 
 
      MG responds 
      200 1002 OK 
 
Note: either 200 or 250 are possible return codes for successful delete 
connection. 
 
  c) There could have also been an authorization failure: 
 
      NTFY 3001  ds/ds1-3/6@nas1.dept234.net MGCP 1.0 
      X: 012389 
      O: nas/ax 
 
      The Call Agent might then respond with  
 
      200 3001 OK 
 
   and follow that with a delete connection 
 
      DLCX 1002 ds/ds1-3/6@nas1.dept234.net MGCP 1.0 
      C: 847384 
      I: 234567 
 
      MG responds 
      200 1002 OK 
 
 
B. Foster, R. Subramaniam    Informational                     [Page 8] 

                         NAS Packages for MGCP            February 2002 

Note: either 200 or 250 are possible return codes for successful delete 
connection. 
 
  5. If there is an error that the NAS detects later on such that it is  
     unable to sustain the data connection, the NAS can send a delete  
     connection to the Call Agent.  
 
     For example, suppose the idle timer expires on the NAS. The NAS  
     may then send a DLCX to the Call Agent 
 
      
      DLCX 3001 ds/ds1-3/6@nas1.dept234.net MGCP 1.0 
      C: 847384 
      I: 234567 
      E: 804 /NAS Idle Timeout 
 
     Call Agent responds with 
 
      200 3001 OK 
 
6.2. Call Back Request 
====================== 
 
  In some cases, support for call back may be required. In that case, 
  the CRCX in step 1 in the previous section would include the 
  additional requested event i.e. 
   
  R: nas/of, nas/au, nas/ax, nas/crq 
   
  If the call-back request occurs, the Call Agent would receive the 
  corresponding notification e.g. 
   
      NTFY 3001  ds/ds1-3/6@nas1.dept234.net MGCP 1.0 
      X: 012389 
      O: nas/crq(cdn(19193922345),cgn(19193922356),bt(modem)) 
   
  The Call Agent would then release the existing call and send a new 
  IAM message for the destination number supplied. 
 
6.3. Call Release from NAS 
========================== 
 
  1.  The NAS does this by sending a DLCX to the Call Agent. 
 
    DLCX 1002 ds/ds1-3/6@nas1.dept234.net MGCP 1.0 
    C: 847384 
    I: 234567 
    E: 801 /NAS User request 
 
  2.   Call Agent responds with 
 
    200 1002 OK 
 
 
 
B. Foster, R. Subramaniam    Informational                     [Page 9] 

                         NAS Packages for MGCP            February 2002 

6.4. Outgoing data call from the NAS 
==================================== 
 
  This is the case where there is a packet arrives at the NAS for a 
  next-hop address that is available via dial-out. 
 
  1. NAS sends 
 
      NTFY 3001  vt/23@nas1.dept234.net MGCP 1.0 
      X:0 
      O: nao/rq(cdn(19193922345),duh(39848)) 
 
  Notes: 
   
     * Notice that the request identifier is 0. This is because this is 
       a persistent event, and there was no notification request to 
       this endpoint (with a request identifier value) prior to this 
       notification. 
     * The endpoint ID is a virtual endpoint selected by the gateway. 
       It has no relationship to any physical endpoint. 
 
  2. Call Agent sends the IAM message and makes the appropriate  
     connection request for an available DS0 e.g.: 
 
      CRCX 1001 ds/ds1-4/12@nas1.dept234.net MGCP 1.0 
      C: 47583 
      M: nas/data 
      L: nas/cdn:919392345,nas/bt:data,nao/duh:39848 
 
  3. The NAS returns 
 
       200 1001 OK 
       I: 384730 
 
7. Change from previous 
 
   Changes from draft-foster-mgcp-nas-02.txt: 
 
       * Correction of error in reason code syntax, section 6.3. 
 
8. References 
   
  [1] Arango, R et al, Media Gateway Control Protocol (MGCP) Version 
  1.0bis, Internet draft, draft-andreasen-mgcp-rfc2705bis-00.txt  
   
   
9. Acknowledgements 
 
  The NAS package was updated from the original NAS package in [1] with 
  an attempt to align with the H.248 equivalent. Thanks also for input 
  from Chip Sharp and Dana Blair of Cisco Systems. 
   


 
B. Foster, R. Subramaniam    Informational                    [Page 10] 

                         NAS Packages for MGCP            February 2002 

10. Author's Addresses 
   
  Bill Foster 
  Cisco Systems 
  Email: bfoster@cisco.com 
   
  Ravi Subramaniam 
  Cisco Systems 
  7025 Kit Creek Road 
  PO Box 14987 
  Research Triangle Park, NC, 27709-4987 
  Phone: +1 919 392-6159 
  Email: ravis@cisco.com 
   
   
   
11. Full Copyright Statement 
   
  Copyright (C) The Internet Society (2001).  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 
  and 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 
  copyrights defined in the Internet Standards process must be 
  followed, or as 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. 
   
  Acknowledgement 
   
  Funding for the RFC Editor function is currently provided by the 
  Internet Society. 
   
   




 
B. Foster, R. Subramaniam    Informational                    [Page 11]