Refactor PCMM aspects of COPS message data objects.
[packetcable.git] / packetcable-driver / src / main / java / org / pcmm / gates / IAMID.java
1 /*
2  * (c) 2015 Cable Television Laboratories, Inc.  All rights reserved.
3  */
4
5 package org.pcmm.gates;
6
7 import org.pcmm.base.IPCMMBaseObject;
8
9 /**
10  * Class to hold the Application Manager Identification which is the handle that identifies the Application Manager
11  * and Application Type.
12  *
13  * From the Packetcable Multimedia specification section 6.1.2
14  *
15  * <p>
16  * The AMID consists of two fields: the Application Manager Tag and Application
17  * Type. Each Application Manager is pre-provisioned with an Application Manager
18  * Tag that is unique within the universe of a single service provider. The
19  * Application Manager may also be pre-provisioned with a set of Application
20  * Type values that can be used to identify the particular application that a
21  * gate is associated with. The Application Manager includes the AMID in all
22  * messages that it issues to the Policy Server. The Policy Server transparently
23  * passes this information to the CMTS via Gate Control messages. The CMTS MUST
24  * return the AMID associated with the Gate to the Policy Server. The Policy
25  * Server uses this information to associate Gate messages with a particular
26  * Application Manager and Application Type.
27  * </p>
28  * <p>
29  * The Application Manager Tag MUST be a globally unique value assigned to the
30  * Application Manager by the service provider. The Application Manager MUST use
31  * the assigned Application Manager Tag in all its interactions with Policy
32  * Servers. Note that since the Application Manager may be operated by a third
33  * party, and a single Application Manager could interact with multiple service
34  * provider operators, a single physical Application Manager may be provisioned
35  * with multiple Application Manager Tags, and multiple Application Type sets
36  * (one for each configured Application Manager Tag).
37  * </p>
38  *
39  *
40  */
41 public interface IAMID extends IPCMMBaseObject {
42
43     byte STYPE = 1;
44
45     /**
46      * Returns the application type value
47      * @return - a short
48      */
49     short getApplicationType();
50
51     /**
52      * Returns the application manager tag value
53      * @return - a short
54      */
55     short getApplicationMgrTag();
56
57 }