Configuring the Sample IPTV Application
The SRC application library provides a sample IPTV application with sample data that you must modify for your environment. The sample data provides the minimum requirements for demonstrating an IPTV application in the SRC-managed network. Figure 19 illustrates a sample network configuration that contains Juniper Networks routers.
The sample network configuration has the following setup:
- The IPTV server connects to the M-series routing platform.
- The SAE manages the M-series routing platform.
- The SAE manages the E-series router and all its subscribers.
- The NIC is configured for the SAE.
- SRC-ACP is configured in backbone mode for the SAE managing the M-series routing platform.
- The M-series routing platform and the E-series router have MPLS configured for creating the LSP tunnel between them.
This sample configuration allows the sample IPTV application to:
When the subscriber requests a video stream from the IPTV server, the IPTV service is activated by the SAE, and SRC-ACP activates a script service to create the LSP tunnel between the two routers over which the video stream is sent. SRC-ACP also updates the bandwidth usage for the LSP tunnel so the IPTV server can send the video stream to the subscriber.
When the subscriber is finished viewing the video stream from the IPTV server, the IPTV service is deactivated by the SAE, and SRC-ACP activates a script service to remove the tunnel.
When tunnel bandwidth usage reaches the incremental threshold (80%) of the initial bandwidth value, SRC-ACP modifies the script service on the SAE to increase the bandwidth to the incremental bandwidth value. When the tunnel bandwidth usage reaches the decremental threshold (20%), SRC-ACP modifies the script service to decrease the bandwidth to the initial bandwidth value.
When the LSP tunnel is down, SRC-ACP can report the affected IPTV service sessions to the IPTV server.
This section describes the configuration tasks for configuring the sample IPTV application.
- Setting Up the IPTV Network
- Configuring the SAE for the IPTV Application
- Configuring SRC-ACP for the IPTV Application
- Configuring the NIC for the IPTV Application
Setting Up the IPTV Network
Set up the network shown in Figure 19. The sample routing configuration is based on this network configuration.
![]()
To set up routing configuration from the IPTV client to the IPTV server, modify the following sample router scripts with interface names that match your network device names.
- /iptv/conf/network/client.scr—Sets up the LSP tunnel endpoint (JUNOSe router)
- /iptv/conf/network/dr1.scr — Sets up the path for the LSP tunnel (JUNOSe router)
- /iptv/conf/network/dr2.scr — Sets up the path for the LSP tunnel (JUNOSe router)
- /iptv/conf/network/lsptest.scr — Sets up the LSP tunnel starting point (JUNOS routing platform)
These scripts do not create the LSP tunnel. The tunnel service creates the LSP tunnel when it is activated. See Configuring IPTV Subscribers and Services.
Configuring the SAE for the IPTV Application
You must configure the SAE to:
- Manage the routers.
- Configure subscribers and services.
- Configure SRC-ACP as an external plug-in for the SAE.
- Configure event publishers.
- Configure the NIC as an external plug-in.
Managing the Routers in an IPTV Network
You must configure the SAE to manage the JUNOSe router connected to the IPTV subscriber (client@ERX) and the JUNOS routing platform connected to the IPTV server. The JUNOSe router must be configured to manage the LSP tunnel so that the SAE can report information about the LSP tunnel to SRC-ACP.
To configure the SAE to manage the JUNOSe router or the JUNOS routing platform, see SRC-PE Network Guide, Chapter 6, Using JUNOSe Routers in the SRC Network with a Solaris Platform or SRC-PE Network Guide, Chapter 8, Using JUNOS Routing Platforms in the SRC Network with a Solaris Platform.
Configuring IPTV Subscribers and Services
Define the subscribers by importing the /iptv/conf/ldap/subscribers.ldif file from the installation directory (/opt/UMC by default) using an LDAP browser. You can then modify the following two subscribers with SDX Admin.
The iptvSubscriber subscriber is the IPTV client.
The iptvServer subscriber is the IPTV server.
For detailed information about configuring subscribers, see SRC-PE Subscribers and Subscriptions Guide, Chapter 13, Configuring Subscribers and Subscriptions with SDX Admin.
Define the IPTV services by importing the /iptv/conf/ldap/services.ldif file from the installation directory (/opt/UMC by default) using an LDAP browser. You can then modify the services with SDX Admin.
The service named iptv is a policy-driven service with the default policy that forwards any traffic. The iptv service allows the IPTV subscriber to allocate bandwidth. The iptv service should be linked to the active congestion point so that SRC-ACP can perform CAC. The bandwidth and congestion point for the service are specified in the Admission Control tab of the SSP Service pane.
The tunnel service is a script service that creates an LSP tunnel. The script service must specify an idle timeout value and a substitution for the IPTV_LSPTunnel_ingress attribute (which is the IP address of the LSP tunnel ingress). The script service uses the getCommandChannel method in the ServiceSessionInfo interface to provide the command channel on which to send commands to the network device (such as a Juniper Networks router) that is attached to the service session. For the script service to work, you must copy the /iptv/lib/iptv.jar file to the /sae/var/run directory.
For information about the ServiceSessionInfo interface, see the script service documentation in the SRC software distribution in the folder SDK/doc/sae or in the SAE core API documentation on the Juniper Networks Web site at
http://www.juniper.net/techpubs/software/management/sdx/api-index.html
For detailed information about configuring services, see SRC-PE Services and Policies Guide, Chapter 2, Managing Services on a Solaris Platform. For detailed information about configuring policies, see SRC-PE Services and Policies Guide, Chapter 12, Configuring and Managing Policies with Policy Editor.
NOTE: The SAE and JUNOSe routers communicate using the Common Open Policy Service (COPS) protocol. The sample data supports COPS XDR mode.
To use the sample data with COPS-PR mode, you must perform one of the following tasks:
- Define another IPTV subscriber that can start the service named iptv.
- Define another service (for example, iptv2) so that the same client can start two services.
Configuring SRC-ACP as an External Plug-In for the IPTV Application
To configure an external plug-in for the SAE, see SRC-PE Subscribers and Subscriptions Guide, Chapter 5, Configuring Authorization and Accounting Plug-Ins for Solaris Platforms.
Configure the object reference with the following value:
Use the following values for the plug-in attributes:
- PA_ROUTER_NAME, PA_INTERFACE_NAME, PA_INTERFACE_ALIAS, PA_PORT_ID, PA_SERVICE_NAME, PA_EVENT_TIME, PA_SESSION_ID, PA_NAS_IP, PA_DOWNSTREAM_BANDWIDTH, PA_UPSTREAM_BANDWIDTH, PA_SERVICE_SESSION_NAME, PA_EVENT_TIME_MILLISECOND, PA_INTERFACE_SPEED, PA_SUBSTITUTION
Configuring Event Publishers for the IPTV Application
Configure the SAE to publish the following types of events to SRC-ACP:
Identify the instance of SRC-ACP by the name of the host on which you configured it. For example:
Configure the SAE to publish the global user tracking events to the NIC; for example: User.tracking.plugins = nic.
For information about configuring event publishers, see SRC-PE Subscribers and Subscriptions Guide, Chapter 11, Configuring Authorization and Accounting Plug-Ins with SDX Configuration Editor.
Configuring the NIC as an External Plug-In for the IPTV Application
To configure an external plug-in for the SAE, see SRC-PE Subscribers and Subscriptions Guide, Chapter 10, Overview of Configuring Plug-Ins for Solaris Platforms.
Configure the object reference with the following value:
Plugin.nic.objectref=corbaname::<host>:<port>/NameService#nicsae/saePort
Use the following values for the plug-in attributes:
Configuring SRC-ACP for the IPTV Application
To configure SRC-ACP for the sample IPTV application, you must configure SRC-ACP as you would normally for backbone mode and enable state synchronization. For more information about configuring SRC-ACP, see SRC Application Library Guide, Chapter 20, Providing Admission Control with SRC-ACP on a Solaris Platform.
In addition to the normal SRC-ACP configuration, you must perform these tasks:
- Defining SRC-ACP Properties for the IPTV Application
- Defining the Sample Congestion Points for the IPTV Application
Defining SRC-ACP Properties for the IPTV Application
To configure SRC-ACP for the sample IPTV application, you must define certain SRC-ACP properties. To do so with SDX Admin:
- Access SDX Admin.
- In the navigation pane, highlight the entry I=config, I=ACP, ou=staticConfiguration, ou=Configuration, o=Management, o=umc.
- Click the Main tab in the ACP Configuration pane.
- In the Property field, include these entries so that the NIC proxy in ACP can look up the SAE using the DN.
/NicProxy.IPTV/nic.server = /realms/dn/B1/NicProxy.IPTV/nic.keytype = Dn/NicProxy.IPTV/nic.valuetype = SaeId/NicProxy.IPTV/nic.expectmultiple = falseFor information about NIC proxies, see SRC-PE Network Guide, Chapter 13, Configuring Applications to Communicate with an SAE.
- In the Property field, include these entries to specify how SRC-ACP manages the congestion points for the IPTV application and to specify the ACP configuration namespace.
Application.iptv.tunnelaction.retryInterval = 5Application.iptv.tunnelaction.timeout = 10Application.iptv.tunnelaction.maxRetry = 2Application.iptv.tunnelaction.waitTime = 60Application.iptv.tunnelaction.nicNamespace = /<-acpnamespace->/NicProxy.IPTVApplication.iptv.tunnelaction.retryInterval
- Time interval at which SRC-ACP tries to create, delete, or modify the LSP tunnel.
- Value—Number of seconds in the range 0-2147483647
- Default—Application.iptv.tunnelaction.retryInterval = 5
Application.iptv.tunnelaction.timeout
- Maximum time SRC-ACP waits to create, delete, or modify the LSP tunnel.
- Value—Number of seconds in the range 0-2147483647
- Default—Application.iptv.tunnelaction.timeout = 10
Application.iptv.tunnelaction.maxRetry
- Maximum number of retry times for creating, deleting, or modifying the LSP tunnel.
- Value—Number
- Default—Application.iptv.tunnelaction.maxRetry = 2
Application.iptv.tunnelaction.waitTime
- Time to wait before re-creating the LSP tunnel after an interface tracking event reports that the LSP tunnel is down.
- Value—Number of seconds in the range 0-2147483647
- Default—Application.iptv.tunnelaction.waitTime = 60
Application.iptv.tunnelaction.nicNamespace
- Name of the object that contains the SRC-ACP configuration data for the application.
- Value—/<ACP namespace>/NicProxy.IPTV
- Guidelines—Replace <-acpnamespace-> with the SRC-ACP configuration namespace. This object appears in l=ACP, ou=staticConfiguration, o=Management, o=umc.
- Default—Application.iptv.tunnelaction.nicNamespace = /<-acpnamespace->/NicProxy.IPTV
- Example—Application.iptv.tunnelaction.nicNamespace = /jacp/NicProxy.IPTV
Defining the Sample Congestion Points for the IPTV Application
Define the sample network congestion points and the sample congestion point for the service named iptv by importing the /iptv/conf/ldap/congestionPoint.ldif file from the installation directory (/opt/UMC by default) using an LDAP browser. You can then modify the following congestion points with SDX Admin.
- The congestion points for the iptv service are added under o=congestionPoint, o=umc.
- The network congestion points are added under o=admissionControl, o=umc.
The interfaceName=iptv, orderedCimKeys=client@ERX, o=admissionControl, o=umc object contains a link to the application. For the link to work, you must copy the /iptv/lib/iptv.jar file to the /acp/var/run directory.
The sample data for the active congestion point includes the following parameters for managing the LSP tunnel's bandwidth and endpoint information based on the sample application:
- CP_LSP_Egress_IP—Egress IP address for LSP tunnel
- CP_LSP_Initial_Bandwidth—Initial bandwidth for LSP tunnel (in bps)
- CP_LSP_Max_Bandwidth—Maximum bandwidth for LSP tunnel (in bps)
- CP_LSP_Incremental_Bandwidth—Incremental bandwidth for LSP tunnel after the threshold is triggered (in bps)
- CP_LSP_Name—LSP tunnel name
- CP_LSP_DecrementBandwidth_Threshold—LSP decrement bandwidth threshold in percentage
- CP_LSP_IncrementBandwidth_Threshold—LSP increment bandwidth threshold in percentage
The SRC software can trigger changes to the bandwidth of the LSP tunnel based on a given threshold. For example, bandwidth can be increased by 50 Mbps if 90% of the initial bandwidth is utilized by setting these parameter values:
CP_LSP_Incremental_Bandwidth = 50000000CP_LSP_IncrementBandwidth_Threshold = 0.9Your parameters can differ if you write your own application.
For information about configuring congestion points, see SRC Application Library Guide, Chapter 20, Providing Admission Control with SRC-ACP on a Solaris Platform.
Configuring the NIC for the IPTV Application
To configure the NIC for the sample IPTV application:
- Configure a NIC proxy. See SRC-PE Network Guide, Chapter 13, Configuring Applications to Communicate with an SAE.
- Add the NIC configuration entry l=OnePopAllRealms, l=NIC, ou=staticConfiguration, ou=Configuration, o=Management, o=umc by importing the /iptv/conf/ldap/nic.ldif file from the installation directory (/opt/UMC by default) using an LDAP browser.
This entry contains a special DN to SAE ID mapping. The NIC host configuration namespace must point to this entry.