Fixed building of models, moved code into directory structure.
[packetcable.git] / protocol_plugins.packetcable / src / main / java / org / pcmm / gates / ISubscriberID.java
diff --git a/protocol_plugins.packetcable/src/main/java/org/pcmm/gates/ISubscriberID.java b/protocol_plugins.packetcable/src/main/java/org/pcmm/gates/ISubscriberID.java
new file mode 100644 (file)
index 0000000..d71e194
--- /dev/null
@@ -0,0 +1,49 @@
+/**
+ @header@
+ */
+
+
+package org.pcmm.gates;
+
+import java.net.InetAddress;
+
+import org.pcmm.base.IPCMMBaseObject;
+
+/**
+ * <p>
+ * The SubscriberID, consisting of the IPv4 or IPv6 address of either the CM or
+ * client CPE device (either directly connected to the CM or on a routable
+ * network behind the CM), identifies the user requesting the service. In
+ * complex network environments this address may be used to route Gate Control
+ * messages between a number of Policy Servers and to determine which CMTS is
+ * providing service to a particular endpoint. In addition to the IPv4 or IPv6
+ * address, a subscriber may also be identified via a FQDN or some opaque data
+ * (object defined below) relevant to the service in question.
+ * </p>
+ * <p>
+ * For a Multicast Gates the CMTS uses the SubscriberID to decide where the
+ * Multicast replication needs to be created. The CMTS treats the SubscriberID
+ * as the source IP address of a JoinMulticastSession [1]. If the SubscriberID
+ * is on an IP subnet that is not directly connected to the CMTS, the CMTS MAY
+ * reject the Gate as having an invalid SubscriberID see 6.4.2.14 PacketCable
+ * Error.
+ * </p>
+ *
+ *
+ */
+
+public interface ISubscriberID extends IPCMMBaseObject {
+    static final short LENGTH = 8;
+    static final byte SNUM = 3;
+    static final byte STYPE = 1;
+
+    /**
+     * source IP address for the PCMM gate.
+     *
+     * @return IP v4 or v6 ip address.
+     */
+    InetAddress getSourceIPAddress();
+
+    void setSourceIPAddress(InetAddress address);
+
+}