
Common Open Policy Service (COPS) Protocol per [RFC2748]

- Client Types Values
- C-Num and C-Type Values 
- R-Types, Reason-Codes, Report-Types, Decision Object 
  Command-Codes/Flags, and Error-Codes
- M-Types, Reason Sub-Codes, and Error Sub-codes 
- S-Num, S-Types, and Error-Codes
- A-types, SubTypes

The Client-type identifies the policy client application to which a
message refers. Client-type values within the range 0x0001-0x3FFF
are reserved Specification Required status as defined in [RFC2434].
These values MUST be registered with IANA and their behavior and
applicability MUST be described in a COPS extension document.

Client-type Values (0x0001-0x3FFF)

Value	     Description				Reference
-----        ----------------------                     ---------

0x01	     COPS Usage for RSVP			[RFC2749]


Client-type values in the range 0x4000 - 0x7FFF are reserved for
Private Use as defined in [RFC2434]. These Client-types
are not tracked by IANA and are not to be used in standards or
general-release products, as their uniqueness cannot be assured.

Client-type values in the range 0x8000 - 0xFFFF are First Come
First Served as defined in [RFC2434]. These Client-types are
tracked by IANA but do not require published documents describing
their use. IANA merely assures their uniqueness.

Client-Type Values (0x8000-0xFFFF)
------------------

Value   Description                                     Reference
------  ----------------------                          --------- 
0x8001  IP Highway					[Herzog]
0x8002  IP Highway					[Herzog]
0x8003  IP Highway					[Herzog]
0x8004  IP Highway					[Herzog]
0x8005  Fujitsu Application Server Software Division    [Hanada]
0x8006  HP OpenView PolicyXpert                        [O'Keefe]   
0x8007  HP OpenView PolicyXpert COPS-PR PXPIB          [O'Keefe]                          

Objects in the COPS Protocol are identified by their C-Num and
C-Type values. IETF Consensus as identified in [RFC2434] is
required to introduce new values for these numbers and, therefore,
new objects into the base COPS protocol.

c-num  c-type  Description				    Reference
------ ------  -------------------------		    ---------
0x01   0x01    Handle					    [RFC2748]
0x02   0x01    Context					    [RFC2748]
0x03   0x01    In-Interface, IPv4			    [RFC2748]
0x03   0x02    In-Interface, IPv6			    [RFC2748]
0x04   0x01    Out-Interface, IPv4			    [RFC2748]
0x04   0x02    Out-Interface, IPv6			    [RFC2748]
0x05   0x01    Reason					    [RFC2748]
0x06   0x01    Decision, Flags				    [RFC2748]
0x06   0x02    Decision, Stateless Data			    [RFC2748]
0x06   0x03    Decision, Replacement Data		    [RFC2748]
0x06   0x04    Decision, Client Specific Decision Data	    [RFC2748]
0x06   0x05    Decision, Named Decision Data		    [RFC2748]
0x07   0x01    LPDP Decision, Flags			    [RFC2748]
0x07   0x02    LPDP Decision, Stateless Data		    [RFC2748]
0x07   0x03    LPDP Decision, Replacement Data		    [RFC2748]
0x07   0x04    LPDP Decision, Client Specific Decision Data [RFC2748]
0x07   0x05    LPDP Decision, Named Decision Data           [RFC2748]
0x08   0x01    Error					    [RFC2748]
0x09   0x01    Client Specific Information, Signaled        [RFC2748]
0x09   0x02    Client Specific Information, Named           [RFC2748]
0x0A   0x01    Keep-Alive Timer				    [RFC2748]
0x0B   0x01    PEP Identification			    [RFC2748]
0x0C   0x01    Report-Type				    [RFC2748]
0x0D   0x01    PDP Redirect Address, IPv4 + TCP Port        [RFC2748]
0x0D   0x02    PDP Redirect Address, IPv6 + TCP Port        [RFC2748]
0x0E   0x01    Last PDP Address, IPv4 + TCP Port            [RFC2748]
0x0E   0x02    Last PDP Address, IPv6 + TCP Port            [RFC2748]
0x0F   0x01    Accounting Timer                             [RFC2748]
0x10   0x01    Message Integrity			    [RFC2748]

Additional Context Object R-Types, Reason-Codes, Report-Types,
Decision Object Command-Codes/Flags, and Error-Codes MAY be defined
for use with future Client-types, but such additions require IETF
Consensus as defined in [RFC2434].

R-Type   Description					Reference
-------  ----------------------------------		---------   
0x01     Incoming-Message/Admission Control request     [RFC2748]
0x02     Resource-Allocation request			[RFC2748]
0x04     Outgoing-Message request			[RFC2748]
0x08     Configuration request				[RFC2748]

Reason-Code   Description				Reference
-----------   -----------------------------		---------	
1             Unspecified				[RFC2748]
2             Management				[RFC2748]
3             Preempted					[RFC2748]	
4             Tear					[RFC2748]
5             Timeout					[RFC2748]
6             Route Change				[RFC2748]
7             Insufficient Resources			[RFC2748]
8             PDP's Directive				[RFC2748]
9             Unsupported decision			[RFC2748]
10            Synchronize Handle Unknown		[RFC2748]	
11            Transient Handle				[RFC2748]
12            Malformed Decision			[RFC2748]
13            Unknown COPS Object			[RFC2748]

Report-Type   Description				Reference
-----------   -----------------------------		---------
1             Success					[RFC2748]
2             Failure					[RFC2748]
3             Accounting				[RFC2748]
 
Command-Code  Description				Reference
------------  -----------------------------		---------
0             NULL Decision				[RFC2748]
1             Install					[RFC2748] 
2             Remove					[RFC2748]

Decision-Flag Description				Reference
------------- -----------------------------		---------
0x01          Trigger Error				[RFC2748]
0x02          Request-State                             [RFC3084] 

Error-Code    Description				Reference
------------  -----------------------------		---------   
1             Bad handle				[RFC2748]
2             Invalid handle reference			[RFC2748]
3             Bad message format			[RFC2748]
4             Unable to process				[RFC2748]
5             Mandatory client-specific info missing	[RFC2748]
6             Unsupported client-type			[RFC2748]
7             Mandatory COPS object missing		[RFC2748]
8             Client Failure				[RFC2748]
9             Communication Failure			[RFC2748]	
10            Unspecified				[RFC2748]
11            Shutting down				[RFC2748]
12            Redirect to Preferred Server		[RFC2748]
13            Unknown COPS Object			[RFC2748]
14            Authentication Failure			[RFC2748]
15            Authentication Required			[RFC2748]

Context Object M-Types, Reason Sub-Codes, and Error Sub-codes MAY
be defined relative to a particular Client-type following the same
IANA considerations as their respective Client-type.

None at this time.

Additional COPS-PR [RFC3084] Object S-Num, S-Types, and Error-Codes
MAY be defined for use with future COPS-PR Client-types, but such
additions require IETF Consensus as defined in [RFC2434]. 

s-num val s-type val  Description (s-num, s-type)	Reference
--------- ----------  ---------------------------       ---------
0x01      0x01        Complete PRID, BER		[RFC3084]
0x02      0x01        Prefix PRID, BER			[RFC3084]
0x03      0x01        EPD, BER				[RFC3084]
0x04      0x01        GPERR, BER			[RFC3084]
0x05      0x01        CPERR, BER			[RFC3084]
0x06      0x01        ErrorPRID, BER			[RFC3084]
          0x02        Reserved for transport of XML     [RFC3084]
                      encoded data

Error codes corresponding to the GPERR (Global Provisioning 
Error) object identified above (s-num=4,s-type=1) are all 
listed below:

Value	Name				Reference
------  --------------------            ---------
1       availMemLow			[RFC3084]
2       availMemExhausted		[RFC3084]	
3       unknownASN.1Tag			[RFC3084]
4       maxMsgSizeExceeded		[RFC3084]
5       unknownError			[RFC3084]
6       maxRequestStatesOpen		[RFC3084]
7       invalidASN.1Length		[RFC3084]
8       invalidObjectPad		[RFC3084]
9       unknownPIBData			[RFC3084]
10      unknownCOPSPRObject		[RFC3084]
11      malformedDecision		[RFC3084]

Error codes corresponding to the CPERR (Class-Specific
Provisioning Error) object identified above (s-num=5,s-type=1)
are all listed below:

Value	Name				Reference
------  --------------------            ---------
1       priSpaceExhausted		[RFC3084] 
2       priInstanceInvalid		[RFC3084]
3       attrValueInvalid		[RFC3084]
4       attrValueSupLimited		[RFC3084]
5       attrEnumSupLimited		[RFC3084]
6       attrMaxLengthExceeded		[RFC3084]
7       attrReferenceUnknown		[RFC3084]
8       priNotifyOnly			[RFC3084]
9       unknownPrc			[RFC3084]
10      tooFewAttrs			[RFC3084]
11      invalidAttrType			[RFC3084]
12      deletedInRef			[RFC3084]
13      priSpecificError		[RFC3084]



P-Type   Description                                    Reference
-------  ----------------------------------             ---------
0x01     PREEMPTION_PRI                                 [RFCXXXX]
0x02     AUTH_USER                                      [RFCXXX1]
0x03     AUTH_APP                                       [RFCXXX1] 


A-Type   Description					Reference
-------  ----------------------------------		---------
1        POLICY_LOCATOR                                 [RFC2752]
2        CREDENTIAL                                     [RFC2752]
3        DIGITAL_SIGNATURE                              [RFC2752]
4        POLICY_ERROR_OBJECT                            [RFC2752]
5-127    Assigned by the IANA 
128-255  Reserved for Private Use
   
SubTypes

Following the policies outlined in [RFCXXX1] POLICY_LOCATOR 
SubType values in the range 0-127 are allocated through an 
IETF Consensus action, POLICY_LOCATOR SubType values between 
128-255 are reserved for Private Use and are not assigned by IANA.

POLICY_LOCATOR  (A-Type 1)

1  ASCII_DN                                             [RFC2752]
2  UNICODE_DN                                           [RFC2752]
3  ASCII_DN_ENCRYPT                                     [RFC2752]
4  UNICODE_DN_ENCRYPT                                   [RFC2752]


Following the policies outlined in [RFCXXX1], CREDENTIAL SubType 
values in the range 0-127 are allocated through an IETF Consensus 
action, CREDENTIAL SubType values between 128-255 are reserved 
for Private Use and are not assigned by IANA.

CREDENTIAL  (A-Type 2)

1  ASCII_ID						[RFC2752]
2  UNICODE_ID        					[RFC2752]
3  KERBEROS_TKT                                         [RFC2752]
4  X509_V3_CERT                                         [RFC2752]
5  PGP_CERT                                             [RFC2752]


REFERENCES
----------

[RFC2434]  Alvestrand, H. and T. Narten, "Guidelines for Writing
           an IANA Considerations Section in RFCs", BCP 26,
           RFC 2434, October 1998.

[RFC2748]  Durham, D., J. Boyle, R. Cohen, S. Herzog, R. Rajan, 
           A. Sastry, "The COPS (Common Open Policy Service)
           Protocol", RFC 2748, January 2000.

[RFC2749]  Boyle, J., Cohen, R., Durham, D., Herzog, S., Raja, R.
           and A. Sastry, "COPS Usage for RSVP", RFC 2749,
           January 2000.

[RFC2752]  S. Yadav, R. Yavatkar, R. Pabbati, P. Ford, T. Moore,
           and S. Herzog, "Identity Representation for RSVP", 
           RFC , January 2000.

[RFC3084]  Chan, K., D. Durham, S. Gai, S. Herzog, K. McCloghrie,
           F. Reichmeyer, J. Seligson, A. Smith, and R. Yavatkar, 
           "COPS Usage for Policy Provisioning (COPS-PR)" RFC 3084,
           March 2001.

[RFCXXXX]  

[RFCXXX1]


PEOPLE
------

[Hanada]  Tetsuharu Hanada, <hanada@pc.fujitsu.com>,
          December 2000.

[Herzog]  Shai Herzog, <herzog@iphighway.com>, July 1999, 
          November 1999. 

[O'Keefe]  Brian O'Keefe, <brian_okeefe@hp.com>, May 2001.

(created 11/00)

(last updated 05/21/01)

[]









