
Common Open Policy Service (COPS) Protocol

(last updated 2006-11-08)

Registries included below:
- 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
- P-types
- X-types, SubTypes
- A-types, SubTypes
- ErrorValues 


Registry Name: Client Types Values
Reference: [RFC2748]
Range            Registration Procedures            Notes
---------------  ---------------------------------  ----------------------------------   
0x001-0x3FF      Specification Required             COPS extension document required
0x4000-0x7FFF    Reserved                           Private Use
0x8000-0xFFFF    First Come First Served

Note:
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.
	
Sub-registry: Client-type Values (0x0001-0x3FFF)
Registry:
Value   Name       PIB Module     Description                  Reference
------  ---------  -------------  ---------------------------  ---------
1                                 COPS Usage for RSVP          [RFC2749]
2       diffServ   dsPolicyPib    DiffServ QoS, DIFFSERV-PIB   [RFC3317]

Sub-registry: Client-Type Values (0x8000-0xFFFF)
Registry:
Value   Name       PIB Module  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]
0x8008                         PacketCable Dynamic Quality of Service         [Gaedtke]         
0x8009  go3gppPib  go3gppPib   COPS usage for 3GPP GO interface               [3GPP T.S. 29.207 - Release 5]
0x800a                         PacketCable Multimedia 
                               [http://www.packetcable.com/specifications/multimedia.html]	
0x800b                         Juniper Networks                               [Scano]
0x800c  ITUT-RwPIB ITUT-RwPIB  Q.3303.1 (Rw interface) COPS alternative       [ITU-T Rec. Q.3303.1]
0x800d  ITUT-RcPIB ITUT-RcPIB  Q.3304.1 (Rc interface) COPS alternative       [ITU-T Rec. Q.3304.1]
                               							   
		  
Registry Name: C-Num and C-Type Values 
Reference: [RFC2748]
Registration Procedures: IETF Consensus

Registry:
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]
0x10   0x02    Message Integrity, Integrity-TLS               [RFC4261]


Registry Name: R-Types, Reason-Codes, Report-Types, Decision Object 
               Command-Codes/Flags, and Error-Codes
Reference: [RFC2748]
Registration Procedures: IETF Consensus

Registry: R-Types
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]

Registry: Reason-Codes
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]

Registry: Report-Types
Report-Type   Description               Reference
-----------   ------------------------  ---------
1             Success                   [RFC2748]
2             Failure                   [RFC2748]
3             Accounting                [RFC2748]

Registry: Decision Object Command-Codes
Command-Code  Description               Reference
------------  ------------------------  ---------
0             NULL Decision             [RFC2748]
1             Install                   [RFC2748] 
2             Remove                    [RFC2748]

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

Registry: Error Codes
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.

Additional error sub-codes defined for messages containing 
Client-type = 0 are:

            Error-SubCode                     
Error-Code  Octet 2  Octet 3  Description                         Reference
----------  -------  -------  ----------------------------------  ---------  
15          16       0        No security                         [RFC4261]
15          16       2        Integrity-TLS supported/preferred   [RFC4261] 


Registry Name: COPS-PR Object S-Num, S-Types, and Error-Codes
Reference: [RFC3084] 
Registration Procedures: IETF Consensus

Note:
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]. 

Registry: COPS-PR S-Num, S-Types
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 encoded data   [RFC3084]
                      
Sub-registry: Global Provisioning Error (GPERR) (s-num=4, s-type=1)
Reference: [RFC3084] 
Registration Procedures: IETF Consensus

Registry:
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]

Sub-registry: Class-Specific Provisioning Error (CPERR) (s-num=5, s-type=1)
Reference: [RFC3084] 
Registration Procedures: IETF Consensus

Registry:
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]


Registry Name: P-types
Reference: [RFC3181]
Registration Procedures: IETF Consensus

Registry:
P-Type   Description                   Reference
-------  ----------------------------  ---------
0x01     PREEMPTION_PRI                [RFC3181]
0x02     AUTH_USER                     [RFC3182]
0x03     AUTH_APP                      [RFC3182]
0x04     AUTH_SESSION                  [RFC3520]

Sub-registry: AUTH_SESSION X-Types (0x04)
Reference: [RFC3520]
Range       Registration Procedures         Notes
----------  ------------------------------  ------
0-127       IETF Consensus
128-255     Private Use

Registry:
X-Type    Description                         Reference 
--------  ----------------------------------  --------- 
0         Reserved
1         AUTH_ENT_ID                         [RFC3520] 
2         SESSION_ID                          [RFC3520] 
3         SOURCE_ADDR                         [RFC3520] 
4         DEST_ADDR                           [RFC3520] 
5         START_TIME                          [RFC3520] 
6         END_TIME                            [RFC3520] 
7         RESOURCES                           [RFC3520] 
8         AUTHENTICATION_DATA                 [RFC3520] 
9-127     Unassigned
128-255   Reserved

Sub-registry: AUTH_ENT_ID (X-Type 1) SubType values
Reference: [RFC3520]
Range       Registration Procedures         Notes
----------  ------------------------------  -----
0-127       IETF Consensus
128-255     Private Use

Registry:
SubType   Description                         Reference 
--------  ----------------------------------  --------- 
0         Reserved
1         IPV4_ADDRESS                        [RFC3520]
2         IPV6_ADDRESS                        [RFC3520]
3         FQDN                                [RFC3520]
4         ASCII_DN                            [RFC3520]
5         UNICODE_DN                          [RFC3520]
6         URI                                 [RFC3520]
7         KRB_PRINCIPAL                       [RFC3520]
8         X509_V3_CERT                        [RFC3520]
9         PGP_CERT                            [RFC3520]
10-127    Unassigned
128-255   Reserved

Sub-registry: SOURCE_ADDR (X-Type 3) SubType values
Reference: [RFC3520]
Range       Registration Procedures         Notes
----------  ------------------------------  ---------------
0-127       IETF Consensus
128-255     Private Use

Registry:
SubType   Description                          Reference 
--------  -----------------------------------  --------- 
0         Reserved
1         IPV4_ADDRESS                         [RFC3520]
2         IPV6_ADDRESS                         [RFC3520] 
3         UDP_PORT_LIST                        [RFC3520]  
4         TCP_PORT_LIST                        [RFC3520]
5-127     Unassigned
128-255   Reserved

Sub-registry: DEST_ADDR (X-Type 4) SubType values
Reference: [RFC3520]
Range       Registration Procedures         Notes
----------  ------------------------------  ------
0-127       IETF Consensus
128-255     Private Use

Registry:
SubType   Description                          Reference 
--------  -----------------------------------  --------- 
0         Reserved
1         IPV4_ADDRESS                         [RFC3520]
2         IPV6_ADDRESS                         [RFC3520]
3         UDP_PORT_LIST                        [RFC3520]
4         TCP_PORT_LIST                        [RFC3520]
5-127     Unassigned
128-255   Reserved

Sub-registry: START_TIME (X-Type 5) SubType values
Reference: [RFC3520]
Range       Registration Procedures         Notes
----------  ------------------------------  ------
0-127       IETF Consensus
128-255     Private Use

Registry:
SubType   Description                          Reference 
--------  -----------------------------------  --------- 
0         Reserved
1         NTP_TIMESTAMP                        [RFC3520]
2-127     Unassigned
128-255   Reserved
 
Sub-registry: END_TIME (X-Type 6) SubType values
Reference: [RFC3520]
Range       Registration Procedures         Notes
----------  ------------------------------  ------
0-127       IETF Consensus
128-255     Private Use

Registry:
SubType   Description                          Reference 
--------  -----------------------------------  --------- 
0         Reserved
1         NTP_TIMESTAMP                        [RFC3520]
2-127     Unassigned
128-255   Reserved

Sub-registry: RESOURCES (X-Type 7) SubType values
Reference: [RFC3520]
Range       Registration Procedures         Notes
----------  ------------------------------  ------
0-127       IETF Consensus
128-255     Private Use
    
Registry:
SubType   Description                      Reference 
--------  -------------------------------  --------- 
0         Reserved
1         BANDWIDTH                        [RFC3520]
2         FLOW_SPEC                        [RFC3520]
3         SDP                              [RFC3520]
4         DSCP                             [RFC3520]
5-127     Unassigned
128-255   Reserved
 

Registry Name: A-types
Reference: [RFC3182]
Range       Registration Procedures         Notes
----------  ------------------------------  ------
0-127       IETF Consensus
128-255     Private Use

Registry:
A-Type   Description                        Reference
-------  ---------------------------------  ---------
0        Reserved
1        POLICY_LOCATOR                     [RFC3182]
2        CREDENTIAL                         [RFC3182]
3        DIGITAL_SIGNATURE                  [RFC3182]
4        POLICY_ERROR_OBJECT                [RFC3182]
5-127    Unassigned
128-255  Reserved 
   
Sub-registry: POLICY_LOCATOR (A-Type 1) SubType values
Reference: [RFC3182]
Range       Registration Procedures         Notes
----------  ------------------------------  ------
0-127       IETF Consensus
128-255     Private Use

Registry:
SubType   Description                       Reference 
--------  --------------------------------  ---------
0         Reserved
1         ASCII_DN                          [RFC3182]
2         UNICODE_DN                        [RFC3182]
3         ASCII_DN_ENCRYPT                  [RFC3182]
4         UNICODE_DN_ENCRYPT                [RFC3182]
5-127     Unassigned 
128-255   Reserved 

Sub-registry: CREDENTIAL (A-Type 2) SubType values
Reference: [RFC3182]
Range       Registration Procedures         Notes
----------  ------------------------------  ------
0-127       IETF Consensus
128-255     Private Use

Registry:
SubType   Description                       Reference 
--------  --------------------------------  ---------
0         Reserved
1         ASCII_ID                          [RFC3182]
2         UNICODE_ID                        [RFC3182]
3         KERBEROS_TKT                      [RFC3182]
4         X509_V3_CERT                      [RFC3182]
5         PGP_CERT                          [RFC3182]
6-127     Unassigned 
128-255   Reserved

Sub-registry: POLICY_ERROR_CODE ErrorValues (A-Type 4)
Reference: [RFC3182]
Range         Registration Procedures         Notes
------------  ------------------------------  ------
0-32767       IETF Consensus
32768-65535   Private Use

Registry:
ErrorValue    Description                            Reference
------------  -------------------------------------  ---------
0             Reserved
1             ErrorValue ERROR_NO_MORE_INFO          [RFC3182]
2             UNSUPPORTED_CREDENTIAL_TYPE            [RFC3182]
3             INSUFFICIENT_PRIVILEGES                [RFC3182] 
4             EXPIRED_CREDENTIAL                     [RFC3182]
5             IDENTITY_CHANGED                       [RFC3182] 
6-32767       Unassigned
32768-65535   Reserved


References
----------
[3GPP T.S. 29.207 - Release 5]  
           ftp://ftp.3gpp.org/specs/Specs/archive/29_series/29.207/ 

[ITU-T Rec. Q.3303.1]
           ITU-T Recommendation Q.3303.1

[ITU-T Rec. Q.3304.1]
           ITU-T Recommendation Q.3304.1

[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.

[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.

[RFC3181]  S. Herzog, "Signaled Preemption Priority Policy Element",
           RFC 3181, September 2001.

[RFC3182]  S. Yadav, R. Yavatkar, R. Pabbati, P. Ford, T. Moore, 
           S. Herzog, and R. Hess,  "Identity Representation for 
           RSVP", RFC 3182, September 2001.

[RFC3317]  M. Fine, K. McCloghrie, J. Seligson, K. Chan, S. Hahn, 
           C. Bell, A. Smith, and F. Reichmeyer, "Differentiated 
           Services Quality of Service Policy Information Base",
           RFC 3317, December 2002.  

[RFC3520]  L-N. Hamer, B. Gage, B. Kosinski, and H. Shieh, "Session 
           Authorization Policy Element", RFC 3520, April 2003.

[RFC4261]  J. Walker and A. Kulkarni, Ed., "COPS Over TLS", RFC 4261, 
           December 2005.

People 
------
[Gaedtke]  Jason Gaedtke, <j.gaedtke&CableLabs.com>, December 2001.

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

[Herzog]   Shai Herzog, <herzog&policyconsulting.com>, July 1999, 
           November 1999. 

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

[Scano]    John Scano, <jscano&juniper.net>, January 2005.

(created 2000-11)

[]

