Adding support for multiple classifiers per gate
[packetcable.git] / packetcable-driver / src / main / java / org / pcmm / gates / ISubscriberID.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 import java.net.InetAddress;
10
11 /**
12  * <p>
13  * The SubscriberID, consisting of the IPv4 or IPv6 address of either the CM or
14  * client CPE device (either directly connected to the CM or on a routable
15  * network behind the CM), identifies the user requesting the service. In
16  * complex network environments this address may be used to route Gate Control
17  * messages between a number of Policy Servers and to determine which CMTS is
18  * providing service to a particular endpoint. In addition to the IPv4 or IPv6
19  * address, a subscriber may also be identified via a FQDN or some opaque data
20  * (object defined below) relevant to the service in question.
21  * </p>
22  * <p>
23  * For a Multicast Gates the CMTS uses the SubscriberID to decide where the
24  * Multicast replication needs to be created. The CMTS treats the SubscriberID
25  * as the source IP address of a JoinMulticastSession [1]. If the SubscriberID
26  * is on an IP subnet that is not directly connected to the CMTS, the CMTS MAY
27  * reject the Gate as having an invalid SubscriberID see 6.4.2.14 PacketCable
28  * Error.
29  * </p>
30  *
31  *
32  */
33
34 public interface ISubscriberID extends IPCMMBaseObject {
35
36     byte STYPE_IPV4 = 1;
37     byte STYPE_IPV6 = 2;
38
39     /**
40      * source IP address for the PCMM gate.
41      *
42      * @return IP v4 or v6 ip address.
43      */
44     InetAddress getSourceIPAddress();
45
46 }