2 * (c) 2015 Cable Television Laboratories, Inc. All rights reserved.
5 package org.pcmm.gates;
7 import org.pcmm.base.IPCMMBaseObject;
10 * GateID is the handle for the Gate. The GateID is assigned by the CMTS and is used by the Application Manager,
11 * Policy Server, and client to reference the Gate.
13 * From the Packetcable Multimedia specification section 6.1.1
15 * A GateID is an identifier that is locally allocated by the CMTS where the Gate resides. A GateID MUST be
16 * associated with only one Gate. Whereas the PacketCable 1.x DQoS Gate Control model generally assumed a pair of
17 * unidirectional Gates (one upstream and one downstream) per GateID in support of a typical two-way voice session,
18 * here the Gate/GateID relationship is explicitly one-to-one, so that it is easier to support a wide range of Multimedia
21 * When the Application Manager issues a Gate-Set request, this triggers the Policy Server to issue a Gate-Set message
22 * to the CMTS. When the CMTS responds with an acknowledgment containing the GateID, the Policy Server
23 * forwards this response including the GateID back to the Application Manager. Note that since there can be a manyto-
24 * many relationship between a PS and CMTS, the GateID assigned by one CMTS cannot be guaranteed to be
25 * unique across the network, so the PSs may use the AMID of the AM along with the SubscriberID and GateID in
26 * order to uniquely identify the Gate.
28 * An algorithm that may be used to assign values of GateIDs is as follows. Partition the 32-bit word into two parts, an
29 * index part, and a random part. The index part identifies the Gate by indexing into a small table, while the random
30 * part provides some level of obscurity to the value. Regardless of the algorithm chosen, the CMTS SHOULD attempt
31 * to minimize the possibility of GateID ambiguities by ensuring that no GateID gets reused within three minutes of its
32 * prior closure or deletion. For the algorithm suggested this could be accomplished by simply incrementing the index
33 * part for each consecutively assigned GateID, wrapping around to zero when the maximum integer value of the index
36 public interface IGateID extends IPCMMBaseObject {
39 * The S-Type for Gate IDs
44 * Returns the gate ID value