idnits 2.17.1 draft-ietf-megaco-naspkg-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document is more than 15 pages and seems to lack a Table of Contents. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (April 2002) is 8009 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: '3' is defined on line 897, but no explicit reference was found in the text ** Downref: Normative reference to an Informational RFC: RFC 2866 (ref. '4') ** Downref: Normative reference to an Informational RFC: RFC 2805 (ref. '5') ** Obsolete normative reference: RFC 3015 (ref. '6') (Obsoleted by RFC 3525) -- No information found for draft-taylor-mmusic-sdp-tdm-xx - is the name correct? -- Possible downref: Normative reference to a draft: ref. '7' Summary: 8 errors (**), 0 flaws (~~), 1 warning (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Media Gateway Control (Megaco) Julian Mitchell 2 Internet Draft Tom Taylor 3 Document: draft-ietf-megaco-naspkg-04.txt Alan V. Whitton 4 Category: Standards Track Nortel Networks 5 Ravi Subramaniam 6 Cisco Systems 8 April 2002 10 Megaco/H.248 NAS Packages 12 Status of this Memo 14 This document is an Internet-Draft and is in full conformance with 15 all provisions of Section 10 of RFC2026. 17 Internet-Drafts are working documents of the Internet Engineering 18 Task Force (IETF), its areas, and its working groups. Note that 19 other groups may also distribute working documents as Internet- 20 Drafts. Internet-Drafts are draft documents valid for a maximum of 21 six months and may be updated, replaced, or obsoleted by other 22 documents at any time. It is inappropriate to use Internet- Drafts 23 as reference material or to cite them other than as "work in 24 progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt 28 The list of Internet-Draft Shadow Directories can be accessed at 29 http://www.ietf.org/shadow.html. 31 Abstract 33 This document is intended to satisfy the requirements in section 34 11.2.5 of the Megaco/H.248 requirements document. It defines five 35 packages: 36 - the base NAS package contains properties and events supported by 37 all NAS terminations; 38 - the NAS Incoming package contains properties and events 39 supported by NAS terminations involved in calls initiated by the 40 circuit network; 41 - the NAS Outgoing package contains properties supported by NAS 42 terminations involved in calls outgoing to the circuit network; 43 - the NAS Control package contains an event supported by a NAS 44 Control termination, which allows the MG to indicate a request to 45 initiate a data connection to a terminal served by the switched 46 circuit network; 47 - the NAS ROOT package contains properties supported by an MG which 48 is also capable of supporting at least the NAS and NAS Incoming 49 packages. 51 Taylor et al Standards Track - Expires January 2002 1 52 1. Introduction 54 One of the applications for which the Megaco/H.248 protocol has been 55 designed is the control of a Network Access Server (NAS). Such a 56 server typically connects calls incoming on circuits to modems, and 57 directs the modem output through a data network to its destination. 58 The NAS may also provide dialout services. The architecture of the 59 NAS arrangement is described more fully in section 4 of this 60 document. 62 To realize the NAS control functions, this document specifies five 63 packages. The base NAS package, the NAS Incoming package, and the 64 NAS ROOT package are supported by all media gateways performing the 65 NAS function. The NAS Outgoing package is required for callback and 66 other types of dialout service. The NAS Control package is required 67 to support dialout where the call originates in the data network. 69 The present version differs from the previous one as follows: 70 . An introduction is added to bring the document into line 71 with RFC formatting requirements. 72 . Where previously missing, text is added to indicate either 73 the default values for parameters and properties or that 74 (in the case of parameters) that the parameters MUST be 75 present. 76 . The error codes defined in section 5 are documented using 77 the template provided by H.248 Annex L. Their numeric 78 values are changes to be in the 6xx range. 79 . A specific reference is added for the documentation of SDP 80 encodings of bearer capability properties. 81 . The type description of the nampat and ctlnam properties in 82 the nasroot package is changed to conform to the VALUE 83 construct. 85 2. Conventions used in this document 87 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 88 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in 89 this document are to be interpreted as described in RFC-2119 [1]. 91 3. ABBREVIATIONS AND DEFINITIONS 93 AAA: Authentication, authorization, and accounting 95 NAS: Network Access Server 97 VPN: Virtual Private Network 99 NAS termination: an ephemeral termination which represents the data 100 network side of a modem connection. It shares a context with a 102 Taylor et al Standards Track - Expires October 2002 2 103 termination which carries the modem tones, but the NAS termination 104 supports no explicit media flows. 106 NAS Control termination: a persistent termination representing all 107 data network entities capable of originating outgoing data calls. 108 It resides in the NULL context. 110 4. ARCHITECTURE 112 RFC 2805 [5] section 11.2.5 shows the gross arrangement of network 113 elements assumed in the present document. As is usual for 114 Megaco/H.248 systems, call signalling is processed at the MGC. The 115 MG performs the NAS function, which mediates between dial-up modem 116 connections and one or more data networks. The MG and MGC are 117 supported by one or more AAA servers, the interface to which is out 118 of scope of this document (see e.g. RADIUS [2]). Typically the MG 119 will have the task of communicating with the AAA server, and this is 120 a basic assumption of the present document. 122 To set up an incoming NAS call, the MGC sends to the MG: 123 - a session identifier, to allow correlation of billing records 124 between the circuit and packet network sides of the call 125 - the calling number, if available 126 - calling number status, which may indicate that it is private 127 - the called number 128 - information about the incoming circuit, possibly including 129 continuity test requirements. 130 All of this information except the session identifier is derived 131 from call signalling. 133 An incoming NAS call is modelled in the MG as a circuit or circuit- 134 emulating termination sharing a context with a NAS termination. The 135 session identifier and calling and called number attributes are 136 properties of the NAS termination. 138 Outgoing NAS calls can be originated in several ways: 139 (a) as callback to a dialled-in user 140 (b) as outgoing service for a dialled-in user 141 (c) as outgoing service for an user connected to the NAS via 142 the data network. 144 In all of these cases, the MG must provide the MGC with the number 145 to be dialled for the outgoing call. However, the detailed 146 procedures and modelling differ between them. 148 Case (a) (callback) begins with the context with the original 149 circuit and NAS terminations. The original circuit is subtracted 150 when the incoming call is released, and a new circuit is added when 151 the outgoing call is made. 153 Taylor et al Standards Track - Expires October 2002 3 154 Case (b) begins like case (a), with a circuit and a NAS termination 155 sharing a context. These terminations remain in the context and 156 another circuit termination is added to it. Physically, this 157 represents demodulation and remodulation of the modem tones as they 158 are forwarded from one circuit to another. 160 Case (c) does not begin with an established context, so an event on 161 a persistent termination established for control purposes only (a 162 NAS Control termination) is used to report the information required 163 by the MGC to set up the call. As well as the number to be dialled, 164 this includes an MG-generated handle to the user data connection. 165 Case (c) eventually results in a context with a NAS termination and 166 a circuit termination. 168 Deletion of a NAS termination from a context terminates NAS service 169 if it is active. If more than one circuit termination is present in 170 the context after the NAS termination is deleted, the context 171 assumes the role of an ordinary circuit-to-circuit connection. 173 5. BASE NAS PACKAGE 175 PackageID: nas(serial number TBD) 176 Version: 1 177 Extends: None 179 Description: 181 This package is supported by and distinguishes all NAS terminations. 182 It contains the session identifier property, the connection type 183 property, the NAS Failure event and the NAS Release Event. 185 5.1 Properties 187 5.1.1 Session Identifier 189 PropertyId: sessid (0x0001) 191 Description: provides a value which may be used to correlate data 192 and circuit network billing records. 194 Type: octet string suitable for use as the value of the RADIUS 195 attribute Acct-Session-Id as defined in RFC2866 [4]. In the text 196 encoding of Megaco/H.248 this is represented as a hex string. 198 Possible Values: as configured in the MGC. Default value is empty. 200 Defined in: TerminationState for a NAS termination. 202 Characteristics: read/write. 204 5.1.2 Connection Type 206 Taylor et al Standards Track - Expires October 2002 4 207 PropertyId: conntyp (0x0002) 209 Description: indicates the nature of the current connection. 211 Type: integer, 0 to 99. 213 Possible values: 214 1: incoming dial-up connection to data network (default) 215 2: callback connection 216 3: incoming dial-up connection to outgoing circuit 217 4: data connection to outgoing circuit 219 Defined in: TerminationState for a NAS termination. 221 Characteristics: read/write. 223 5.2 Events 225 5.2.1 NAS Failure 227 EventID: nasfail (0x0001) 229 Description: indicates a failure in the processing of the NAS 230 connection attempt. Prior to successful initiation of service, it 231 may occur as a result of any failure cause. Once service has begun, 232 it indicates specifically that the NAS was unable to communicate 233 with the AAA server. 235 EventDescriptor Parameters: none added by this package 237 ObservedEventDescriptor Parameters: 239 Error code (required parameter) 240 ParameterID: ec (0x0001) 241 Description: describes the failure reason 242 Type: integer, 0 to 99 243 Possible values: 244 1: NAS internal error 245 2: modems failed to train 246 3: no response from AAA server 248 5.2.2 NAS Release 250 EventID: nasrel (0x0002) 252 Description: The NAS Release event indicates that the NAS session 253 has terminated at a point in time subsequent to registration of the 254 first accounting record for the service. 256 EventDescriptor Parameters: none added by this package 258 Taylor et al Standards Track - Expires October 2002 5 259 ObservedEventDescriptor Parameters: 261 reason 262 ParameterID: reason (0x0001) 263 Description: reason for termination of service. 264 Type: integer, 0 to 99 266 Possible values: as defined for the RADIUS Acct-Terminate-Cause 267 event (see RFC 2866 [4]). The list of values is reproduced here 268 for information. See RFC 2866 for detailed definitions. 269 1 User Request 270 2 Lost Carrier 271 3 Lost Service 272 4 Idle Timeout 273 5 Session Timeout 274 6 Admin Reset 275 7 Admin Reboot 276 8 Port Error 277 9 NAS Error 278 10 NAS Request 279 11 NAS Reboot 280 12 Port Unneeded 281 13 Port Preempted 282 14 Port Suspended 283 15 Service Unavailable 284 16 Callback 285 17 User Error 286 18 Host Request (default) 288 5.3 Signals 290 None. 292 5.4 Statistics 294 None. 296 5.5 Error Codes 298 The following additional Megaco/H.248 error codes are documented 299 here: 301 Error code #: 613 302 Name: ISP port limit overrun 303 Definit 304 ion: 305 A NAS cannot connect an incoming or outgoing call because allocation 306 of a modem would cause the configured port limit for the ISP to be 307 exceeded. 308 Package: NAS base package (nas). 309 Reference: RFC xxxx (draft-ietf-megaco-naspkg-04.txt) section 5.5. 310 Error text in the Error Descriptor: none. 312 Taylor et al Standards Track - Expires October 2002 6 313 Comment: attempt to create a NAS termination failed because an 314 administrative limit has been reached. 316 Error code #: 614 317 Name: No modems available. 318 Definition: 319 A NAS cannot connect an incoming 320 or outgoing call because it has no more modems available to use for 321 this call. 322 Package: NAS base package (nas). 323 Reference: RFC xxxx (draft-ietf-megaco-naspkg-04.txt) section 5.5. 324 Error text in the Error Descriptor: none. 325 Comment: attempt to create a NAS termination failed because a 326 resource limit has been reached. 328 Error code #: 615 329 Name: Calling n 330 umber unacceptable 331 Definition: 332 The calling number is being blocked or is not allowed to call this 333 service. 334 Package: NAS base package (nas). 335 Reference: RFC xxxx (draft-ietf-megaco-naspkg-04.txt) section 5.5. 336 Error text in the Error Descriptor: none. 337 Comment: attempt to create a NAS termination failed because of 338 administrative restrictions. 340 Error code #: 616 341 Name: Called number unacceptable 342 Definition: 343 The called number supplied is unknown or blocked by this gateway. 344 Package: NAS base package (nas). 345 Reference: RFC xxxx (draft-ietf-megaco-naspkg-04.txt) section 5.5. 346 Error text in the Error Descriptor: none. 347 Comment: attempt to create a NAS termination failed because of 348 administrative restrictions. 350 5.6 Procedures 352 If the MGC specifies a non-empty Session Identifier value for an 353 incoming dial-up session and callback or outgoing service is 354 authorized, the MGC MUST set a new Session Identifier value at the 355 beginning of the outgoing phase, at the same time as it updates the 356 Connection Type. If the Session Identifier is non-empty, the MG 357 MUST use the supplied value as the value of the Acct-Session-Id 358 attribute for the corresponding session in communications with the 359 AAA server. If the Session Identifier is empty (unspecified), the 360 MG provides its own value for the Acct-Session-Id. 362 The MGC initially sets the Connection Type property either to 1 363 (incoming dial-up call) or 4 (outgoing from data connection) as the 364 case may be. Where the call starts as an incoming dial-up call and 366 Taylor et al Standards Track - Expires October 2002 7 367 either moves to callback or to an outgoing call, the MGC resets the 368 Connection Type property accordingly to ensure state synchronization 369 with the MG. 371 The MGC will normally enable the NAS Failure event for the life of 372 the NAS termination. The MGC will typically enable the NAS Release 373 event if it is prepared to initiate call clearing to the circuit 374 network upon receipt of a notification of that event, but it must 375 then also be prepared to handle race conditions due to simultaneous 376 call release by the subscriber. 378 6. NAS INCOMING PACKAGE 380 PackageID: nasin (serial number TBD) 381 Version: 1 382 Extends: nas (0xTBD) 384 Description: 386 This package provides the Authorization Exception event and 387 additional properties which the MGC must supply to the MG for an 388 incoming dial-up NAS call. These properties are assigned to the NAS 389 termination when it is created and given a Connection Type value of 390 1 (incoming dial-up connection). 392 6.1 Properties 394 6.1.1 Calling Number Status 396 PropertyId: clgstat (0x0003) 398 Description: indicates whether the calling number has not been set 399 because it was unavailable at the MGC, has not been set by the MGC 400 because it was witheld, has been set but is private (may not be used 401 for presentation purposes on the AAA server), or has been set and 402 may be passed to the AAA server. 404 Type: integer, 0 to 99 406 Possible values: 407 1: calling number has not been set because it is unavailable 408 (default) 409 2: calling number has not been set because it is witheld 410 3: calling number has been set but is presentation restricted 411 4: calling number has been set and may be presented. 413 Defined in: TerminationState for a NAS termination 415 Characteristics: read/write 417 Taylor et al Standards Track - Expires October 2002 8 418 6.1.2 Calling Number 420 PropertyId: clgnum (0x0004) 422 Description: value of the calling number. This property MUST NOT be 423 specified if clgstat is set to 1 (calling number unavailable) or 2 424 (calling number withheld); it MUST be specified otherwise. 426 Type: string of hexadecimal digits, with no preceding "0x". Each 427 hex digit represents one dialled digit. 429 Possible values: as determined by the numbering plan. Default value 430 if unspecified is "absent". 432 Defined in: TerminationState for a NAS termination 434 Characteristics: read/write 436 6.1.3 Called Number 438 PropertyId: cldnum (0x0005) 440 Description: value of the called number as provided by call 441 signalling. 443 Type: string of hexadecimal digits, with no preceding "0x". Each 444 hex digit represents one dialled digit. 446 Possible values: as determined by the numbering plan. No default 447 value. 449 Defined in: TerminationState for a NAS termination 451 Characteristics: read/write. 453 6.2 Events 455 6.2.1 Authorization Exception 457 EventID: authex (0x0003) 459 Description: this event reports an unexpected outcome of a request 460 for authorization of the network access request. The expected 461 outcome is that the request is accepted and involves straightforward 462 incoming service. 464 EventDescriptor Parameters: none added by this package 466 ObservedEventDescriptor Parameters: 468 result (required parameter) 469 ParameterID: res (0x0001) 471 Taylor et al Standards Track - Expires October 2002 9 472 Description: outcome of the service request to the AAA server 473 (see for example RFC 2865 (RADIUS) [2]). 474 Type: integer, 0 to 99 475 Possible values: 476 1: service denied 477 2: callback service authorized 478 3: outgoing service authorized 480 number to dial 481 ParameterID: dialnum (0x0002) 482 Description: number to dial for call-back or outgoing service, 483 as conveyed, for example, by the Callback number in RADIUS [2]. 484 Type: string of hexadecimal digits, without preceding "0x". 485 Each hex digit represents one digit to be dialled/signalled. 486 Possible values: as determined by the dialling plan. This 487 parameter MUST be absent if result was "service denied", and 488 MUST be present if result was "callback service authorized" or 489 "outgoing service authorized". 491 6.3 Signals 493 None. 495 6.4 Statistics 497 None. 499 6.5 Procedures 501 It is assumed that a NAS incoming connection is identified by the 502 MGC on the basis of incoming call signalling. The MGC maps from 503 signalled circuit identifier to the incoming terminationId in the 504 usual way. It may perform continuity testing on the incoming 505 termination before beginning the procedures described here. It will 506 typically add the bearer capability properties (described in [7] for 507 SDP or [6] Annex C for binary encoding) to Local and Remote for the 508 circuit termination based on call signalling. To enable modem tones 509 to be sent and received, the MGC MUST set streamMode in the 510 LocalDescriptor on the circuit termination to SendReceive. 512 The MGC adds a NAS termination to the context in which the incoming 513 termination has also been placed, setting the properties defined by 514 the NAS and NAS Incoming packages and enabling the NAS Failure and 515 Authorization Exception events of the NAS package. The MGC may also 516 enable the NAS Release event. 518 The MG may be unable to carry out the Add command for the NAS 519 termination, in which case it will return the appropriate error 520 code, typically one of the codes documented in section 5.5 above. 522 Once the incoming termination and the NAS termination have been 523 associated in the same context, modem training is carried out and 525 Taylor et al Standards Track - Expires October 2002 10 526 the MG issues a request for authorization to the AAA server. If 527 either of these tasks is unsuccessful, the NAS termination generates 528 a NAS Failure event with the appropriate reason code: 529 1: NAS internal error, if an internal condition such as hardware 530 or software failure is recognized 531 2: modems failed to train, if loss of carrier is detected or the 532 NAS times out waiting for the connection to be established. 533 3: no response from AAA server, if no response to the 534 authorization request was received. 536 Assuming that the AAA server response is received, the NAS 537 termination may generate an Authorization Exception event. 538 Depending on the result, the MGC should take the following actions: 540 Result = 1 (denied): 542 Subtract all terminations from the context. Either initiate call 543 clearing or wait for the subscriber to clear the call, depending 544 on local policy. 546 Result = 2 (callback): 548 Initiate call clearing for the current circuit connection. 549 Remaining actions as for the next case. 551 Note that if the NAS Release event is enabled an instance will be 552 generated with reason code 16 (callback) following the 553 Authorization Exception event. 555 Result = 3 (outgoing): 557 Update the Session Identifier and Connection Type of the NAS 558 termination and add Dialout Number (see the NAS Outgoing package). 559 Select and add a new circuit termination (possibly wildcarded) for 560 the outgoing call. Initiate an outgoing call to the number 561 provided by the Authorization Exception event. Add bearer 562 capability parameters to the new circuit termination when 563 available. Perform continuity testing on the new circuit 564 termination if required, before setting streamMode to SendReceive. 566 If no Authorization Exception event has been received, or in the two 567 success cases once other actions have been taken, maintain the 568 connection until cleared by call signalling or alerted by a NAS 569 Release or NAS Failure event. 571 In all cases of failure, or if the NAS Release event is enabled and 572 reported, the MGC has the option of waiting for call clearing from 573 the circuit network or initiating call clearing to the circuit 574 network. In the latter case, as already mentioned, it must be 575 prepared to handle signalling race conditions due to simultaneous 576 release at the subscriber end. 578 Taylor et al Standards Track - Expires October 2002 11 579 7. NAS OUTGOING PACKAGE 581 PackageID: nasout (serial number TBD) 582 Version: 1 583 Extends: nas (0xTBD) 585 Description: 587 This package provides two properties used for outgoing NAS service: 588 the Dialout Number and the Data User Handle. 590 7.1 Properties 592 7.1.1 Dialout Number 594 PropertyID: dialnum (0x0003) 596 Description: the number to dial for an outgoing connection, copied 597 from the dialnum parameter of an Authorization Result event or an 598 Outgoing Call event (see NAS Control package). 600 Type: string of hexadecimal digits, not preceded by "0x". Each hex 601 digit represents one dialled digit. 603 Possible values: as defined by the dialling plan. Default if 604 unspecified is "absent". 606 Defined in: TerminationState for a NAS termination 608 Characteristics: read/write 610 7.1.2 Data User Handle 612 PropertyID: handle (0x0004) 614 Description: handle to an existing user data network connection 615 which is to be provided outgoing service. This value is generated 616 by and is of local significance to the MG. It is copied from the 617 handle parameter of an Outgoing Call event (see NAS Control 618 package). 620 Type: a binary value represented as a hexadecimal string (text 621 encoding) or OCTET STRING (binary encoding). 623 Possible values: as set by the MG. Default if unspecified is 624 "absent". 626 Defined in: TerminationState for a NAS termination 628 Characteristics: read/write 630 Taylor et al Standards Track - Expires October 2002 12 631 7.2 Events 633 None. 635 7.3 Signals 637 None 639 7.4 Statistics 641 None 643 7.5 Procedures 645 The Dialout Number property MUST be specified if and only if the 646 Connection Type is 2 (callback), 3 (dial-in to circuit), or 4 647 (outgoing from data network). 649 The Data User Handle property MUST be specified if and only if the 650 connection type is 4 (outgoing from data network). 652 8. NAS CONTROL PACKAGE 654 PackageId: nasctl (serial number TBD) 655 Version: 1 656 Extends: none 658 Description: 660 This package is supported by and distinguishes all NAS Control 661 terminations. It contains one event, used by the MG to indicate 662 that a data network user has requested outgoing service. 664 8.1 Properties 666 None. 668 8.2 Events 670 8.2.1 Outgoing Call 672 EventID: callreq (0x0001) 674 Description: this event indicates that a data network user wishes to 675 make an outgoing call to the circuit network. 677 EventDescriptor Parameters: none added by this package 679 ObservedEventDescriptor Parameters: 681 number to dial (required parameter) 683 Taylor et al Standards Track - Expires October 2002 13 684 ParameterID: dialnum (0x0001) 685 Description: number to dial for outgoing service, as conveyed, 686 for example, by the Callback number in RADIUS [2]. 687 Type: string of hexadecimal digits, not preceded by "0x". Each 688 hex digit represents one digit to be dialled/signalled. 689 Possible values: as determined by the dialling plan. 691 data user handle (required parameter) 692 ParameterID: handle (0x0002) 693 Description: handle to an existing user data network connection 694 which is to be provided outgoing service. This value is 695 generated by and is of local significance to the MG. 696 Type: a binary value represented as a hexadecimal string (text 697 encoding) or OCTET STRING (binary encoding). 699 8.3 Signals 701 None. 703 8.4 Statistics 705 None. 707 8.5 Procedures 709 The NAS Control termination is a persistent termination logically 710 present in the NULL context of an MG which supports outgoing service 711 initiated from data network users. The MGC must enable the Outgoing 712 Call event on this termination in order to receive requests for such 713 service. 715 When a data network user requests outgoing service (by means outside 716 the scope of this document) and the MG has obtained authorization 717 for such service from the AAA server, it generates an Outgoing Call 718 event. The value of the dialnum property is set to the value 719 provided directly by the data network user or (possibly) provided by 720 the AAA server. (Note that no attribute is specifically defined for 721 this purpose in RADIUS.) The handle property is set to a value 722 which the MG can use to retrieve the state of the call, including 723 the data connection and information passed to it by the AAA server. 725 Upon receipt of an Outgoing Call event, the MGC initiates a call to 726 the number provided in dialnum. It passes a request back to the MG 727 to add a terminationId (possibly wildcarded) of a circuit 728 termination to a context. During call setup it may perform 729 continuity testing on the circuit, and will typically add Bearer 730 Capability parameter values to it in the Local/Remote descriptors. 732 At an appropriate point it will request the MG to add a NAS 733 termination to the context. Session Identifier for this termination 734 MAY be set. Connection Type MUST be set to 4 (outgoing call from 735 data network). Both the nasout/dialnum and nasout/handle properties 737 Taylor et al Standards Track - Expires October 2002 14 738 MUST be set as described in the NAS Outgoing package. The MGC 739 SHOULD enable the NAS Failure event and MAY enable the NAS Release 740 event. 742 Processing from this point onwards is similar to that for an 743 incoming call, except that no Authorization Result event is 744 expected. 746 9. NAS ROOT PACKAGE 748 PackageId: nasroot (serial number TBD) 749 Version: 1 750 Extends: none 752 Description: this package provides properties applicable to an MG 753 which provides NAS services. These include the naming pattern for 754 NAS terminations, the name of the NAS Control termination (if any), 755 the maximum number of NAS terminations supported by the MG, and the 756 expected execution time for adding NAS terminations to a context. 758 9.1 Properties 760 9.1.1 NAS Termination Naming Pattern 762 PropertyId: nampat (0x0001) 764 Description: pattern of termination identifiers specifically used to 765 identify NAS terminations. 767 Type: for binary encoding, an OCTET STRING encapsulating a value of 768 ASN.1 type TerminationIDList. For text encoding, a string delimited 769 by double quotes, consisting of one or more terms separated by 770 commas. Each term conforms to the syntax of the pathName production 771 in [6] Annex B. In either encoding, the CHOOSE wildcard MUST NOT be 772 used in any of the terms. Typically individual terms will contain 773 ALL wildcards at one or more positions. 775 Possible values: as configured in the MG. 777 Defined in: TerminationState for ROOT. 779 Characteristics: read only. 781 9.1.2 NAS Control Termination Name 783 PropertyId: ctlnam (0x0002) 785 Description: name of the NAS Control Termination, if any, supported 786 by the MG. 788 Taylor et al Standards Track - Expires October 2002 15 789 Type: for binary encoding, an OCTET STRING encapsulating a value of 790 ASN.1 type TerminationID. For text encoding, a string conforming to 791 the syntax of the pathName production in [6] Annex B. In either 792 encoding, wildcards MUST NOT be present. 794 Possible values: as provisioned in the MG. If the MG does not 795 support outgoing calls originated from the data network, the MG MUST 796 return an empty value for this property to any audit. 798 Defined in: TerminationState for ROOT. 800 Characteristics: read only. 802 9.1.3 Available Modems 804 PropertyId: avalmodems (0x0003) 806 Description: number of idle in-service modems currently available on 807 the MG for assignment. 809 Type: integer. 811 Possible values: 1 to 9999999. 813 Defined in: TerminationState for ROOT. 815 Characteristics: read only. 817 9.1.4 Maximum Time To Add A NAS Termination 819 PropertyId: nasaddtime (0x0004) 821 Type: integer. 823 Possible values: as configured in the MG. Maximum expected time 824 required to add a NAS termination to a context, milliseconds. See 825 procedural description below. 827 Defined in: TerminationState for ROOT. 829 Characteristics: read only. 831 9.2 Events 833 None. 835 9.3 Signals 837 None. 839 Taylor et al Standards Track - Expires October 2002 16 840 9.4 Statistics 842 None. 844 9.5 Procedures 846 The MGC reads the values of the NAS Root Package properties by 847 performing an AuditValue of ROOT. If these properties have been 848 set, they indicate that the MG supports the NAS function. 850 The value of nasroot/nasaddtime is advisory. The MGC SHOULD take 851 this value into account if it sets the value of the base root 852 property root/normalMGexecutiontime. 854 The MGC may manage load balancing between alternative MGs by 855 periodically auditing the value of nasroot/avalmodems and assigning 856 calls according to a policy based on this value. 858 10. Security Implications 860 Security for Megaco/H.248 signalling is considered in the base 861 protocol specification [6]. Special consideration must be given to 862 protection of caller privacy, as this is the subject of regulatory 863 requirements in many jurisdictions. The basic principle is that if 864 the caller has requested privacy (typically through subscription), 865 then: 866 - the requirement for protection of caller identity MUST be 867 propagated between successive entities in the call chain; 868 - caller identity itself MUST NOT be sent to an untrusted entity. 870 In the NAS case, the trust boundary may lie between the MGC and MG, 871 between the MG and the AAA server, or beyond the AAA server. The 872 MGC MUST be provisioned to be able to distinguish between a trusted 873 and untrusted MG. Where the MG is trusted, the MG MUST be 874 provisioned with the knowledge of whether the AAA server is trusted 875 or untrusted. 877 11. IANA Considerations 879 This document adds the Megaco/H.248 error codes defined in section 880 5.5. 882 12. Acknowledgements 884 This document was improved by comments from Matt Holdrege and 885 Christian Groves. 887 13. References 889 [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement 890 Levels", BCP 14, RFC 2119, March 1997. 892 Taylor et al Standards Track - Expires October 2002 17 894 [2] Rigney, C., Willens, S., Rubens, A. and W. Simpson, "Remote 895 Authentication Dial In Service (RADIUS)", RFC 2865, June 2000. 897 [3] Townsley, W., et al, "Layer Two Tunneling Protocol(L2TP)", RFC 898 2661, August 1999 900 [4] Rigney, C., "RADIUS Accounting", RFC 2866, June 2000. 902 [5] N. Greene, M. Ramalho, B. Rosen, "Media Gateway control protocol 903 architecture and requirements", RFC 2805, April 2000. 905 [6] F. Cuervo, N. Greene, C. Huitema, A. Rayhan, B. Rosen, J. 906 Segers, "Media Gateway Control Protocol", RFC 3015, November 2000. 908 [7] T. Taylor, "Conventions for the use of the Session Description 909 Protocol (SDP) for Digital Circuit Connections", draft-taylor- 910 mmusic-sdp-tdm-xx.txt, work in progress. 912 14. AUTHORS' ADDRESSES 914 Tom Taylor 915 Nortel Networks 916 Phone: +1 613 736 0961 917 Email: taylor@nortelnetworks.com 919 Alan V. Whitton 920 Nortel Networks 921 Phone: +1 613 763 8871 922 Email: awhitton@nortelnetworks.com 924 Julian Mitchell 925 Nortel Networks 926 Phone: +44-(0)1628-434695 927 Email: julianm@nortelnetworks.com 929 Ravi Subramaniam 930 Cisco Systems 931 Email: ravis@cisco.com 933 Taylor et al Standards Track - Expires October 2002 18