Table Of Contents
Configuring Streaming Media Services
Usage Guidelines
About Licenses for Streaming Media Services
About RTSP Media Services
Live Streaming with the Cisco Streaming Engine
About the ACNS RTSP Gateway
Configuring RTSP Services on a Locally Deployed Content Engine
Configuring the RTSP Gateway
Configuring and Enabling the Cisco Streaming Engine
Configuration Examples
Configuring and Enabling RealSubscriber
Configuring and Enabling RealProxy Caching
Enabling Transparent Caching of RTSP Traffic to RealProxy Using WCCP-Enabled Routers
Enabling Conventional Proxy Caching of RTSP Traffic to RealProxy
RealProxy Considerations
Configuring WMT Services on a Locally Deployed Content Engine
WMT Usage Guidelines
Adding or Removing WMT MMS Allowed Filename Extensions
Configuring WMT Parameters with CLI Commands
Enabling WMT on a Locally Deployed Content Engine
Configuring WMT Proxy Settings
Enabling Transparent WMT Service Using WCCP-Enabled Routers
Enabling Conventional WMT Proxy Service
Configuring WMT Multicasting
Using WMT Broadcast and Multicast CLI Commands
Configuring WMT Multicast Station Schedules
Starting and Stopping WMT Multicast Stations
Using WMT Multicast Logging
Configuring Unicast-In Multicast-Out
Configuring Multicast-In Multicast-Out
Configuring Multicast-In Unicast-Out
Configuring Unicast-In Unicast-Out
Removing the WMT License Key
Configuring Streaming Media Services
Streaming is a technology that allows content to be accessed or viewed before all the media packets have been received, whereas with caching, the content must be received in its entirety before it can be accessed. Streaming media can be delivered as live content or as on-demand content, such as video on demand (VOD). Cisco ACNS software supports several types of streaming media services, including RealNetworks RealMedia, Microsoft Windows Media Technologies (WMT), and Apple QuickTime.
This chapter describes how to configure these streaming media services on a locally deployed Content Engine. This chapter contains the following sections:
•
Usage Guidelines
•
Configuring RTSP Services on a Locally Deployed Content Engine
•
Configuring WMT Services on a Locally Deployed Content Engine
Note
For background information about streaming media services, see the "Understanding Some Basic ACNS Streaming Media Concepts" section.
For complete syntax and usage information for the CLI commands used in this chapter, refer to the Cisco ACNS Software Command Reference, Release 5.1. For information about how to use the Content Distribution Manager GUI to centrally configure these services on a Content Engine, refer to the Cisco ACNS Software Deployment and Configuration Guide, Release 5.1.
Usage Guidelines
This section provides some usage guidelines regarding the configuration of streaming media services on a locally deployed Content Engine. It includes the following topics:
•
About Licenses for Streaming Media Services
•
About RTSP Media Services
About Licenses for Streaming Media Services
Before enabling licenses for streaming media services on the Content Engine, make sure your Content Engine clock and calendar settings are correct; otherwise you will see an error message and the services will fail to install. Use the show clock command to display the system clock. To set the system clock, use the clock set EXEC command.
Note
You do not need a license to use the Cisco Streaming Engine to deliver RTSP streaming media. For more information about the Cisco Streaming Engine, see the "Live Streaming with the Cisco Streaming Engine" section.
About RTSP Media Services
Real-Time Streaming Protocol (RTSP) is a standard Internet streaming control protocol (RFC 2326). It is a widely used application-level protocol that controls the delivery of data with real-time properties, such as video and audio. Apple QuickTime, RealNetworks, and the Cisco Streaming Engine use RTSP as a streaming control protocol.
Live Streaming with the Cisco Streaming Engine
ACNS 5.1 software introduces support for handling live streaming content with all kinds of network topologies and deployment scenarios. This feature allows the integration of streaming content from Cisco IP/TV Servers and QuickTime live Broadcast Servers.
Use the rtsp server cisco-streaming-engine broadcast port-list command to define the UDP ports you want the locally deployed Content Engine to use for sending and receiving the streaming content. Use the rtsp server cisco-streaming-engine broadcast id command to define a specific configuration.
Use the rtsp server cisco-streaming-engine broadcast port-list command to define the UDP ports you want the Content Engine to use for sending and receiving the streaming content. Use the rtsp server cisco-streaming-engine broadcast id command to define a specific configuration.
Three different source types are supported and two different destination types, for a total of six different configurations, as shown below:
•
Push (proactively streaming) UDP unicast source:
–
Proactively streaming UDP multicast destination
–
Client-initiated RTSP unicast destination
•
Client-initiated RTSP unicast source:
–
Push UDP multicast destination
–
Client-initiated RTSP unicast destination
•
Push UDP multicast source:
–
Push UDP multicast destination
–
Client-initiated RTSP unicast destination
A UDP source is an external streaming server such as the Cisco IP/TV Broadcast Server that is sending the stream through UDP to the Content Engine. You must correctly configure the streaming server, along with all other necessary component in the network, so that it is sending out the stream regardless of whether a Content Engine or other host is actually tuned into that stream. The UDP source can be unicast or multicast.
When using the destination-udp option of the rtsp server command, the live program proactively sends the stream to the destination using UDP. The stream, in turn, can be accessed by a live program with a UDP source. Currently, only a multicast UDP destination is supported. The UDP destination automatically provides the RTSP request access point as well.
An RTSP source is a fully qualified RTSP URL that references an external streaming server such as a parent Content Engine, which provides the corresponding RTSP request point. When the destination-pull option of the rtsp server command is used, the live program relays its source to a published RTSP program, which can be accessed using an RTSP URL, corresponding to the RTSP source above.
For UDP streams, the HTTP URL provides access to the Session Description Protocol (SDP) file for the stream, which must be published by the external streaming server. In a typical scenario, the external streaming source is sending two streaming tracks (audio and video) to the Content Engine on two different ports.
When the destination is UDP multicast, this automatically provides the RTSP access point.
About the ACNS RTSP Gateway
The ACNS RTSP gateway is not an RTSP-based streaming server. Rather, it is a process running on the Content Engine that accepts an RTSP request and performs the initial RTSP handshake with RTSP-based clients (RealMedia, QuickTime, and so on) on behalf of the RTSP-based streaming servers available on the Content Engine. From information derived from the initial handshake operation, the RTSP gateway queries the URL filtering, rules, authentication, and unified name space (UNS) daemons to determine whether or not the content is pre-positioned.
After successful completion of uniformity checks, the RTSP gateway tunnels the request to the appropriate streaming media server on the Content Engine. It can tunnel the request to the RealServer, RealProxy, or Cisco Streaming Engine on the Content Engine, depending on the requested media type, the media server that is currently enabled, and the player agent that is requesting the content.
After the RTSP gateway tunnels the request to a particular media server and the media server and client negotiate the UDP ports, it continues with RTSP message passing (SETUP). When the RTSP client issues a PLAY request, the streaming server starts streaming the data to the client over UDP.
The RTSP gateway daemon listens on the standard RTSP port (default port 554) and funnels incoming RTSP traffic through it to create uniform naming, authentication and authorization, rules-based implementation, and URL filtering. The RTSP gateway is always enabled and cannot be disabled by a command. Based on the properties of the incoming request, including such properties as user agent, final destination, and media file type, the RTSP gateway performs the following tasks.
•
Forwards the incoming request to the RealProxy that resides on the same Content Engine as does the RTSP gateway.
•
Forwards the incoming request to the RealSubscriber that resides on the same Content Engine as does the RTSP gateway.
•
Forwards the incoming request to the Cisco Streaming Engine.
•
Redirects the incoming request.
•
Rejects the incoming request.
Note
If the request is a WCCP transparently redirected request, the RTSP gateway cannot process the request, so it redirects it and adds bypass entries. For those requests that are forwarded to content servers, and for which an acknowledgement is received, responses are passed on to the client.
The Content Engine can be configured to accept transparently redirected RTSP requests as well as traditional proxy-style RTSP requests from RealPlayer client software. The RealProxy software is configured with the RealAdministrator GUI, accessed from the RealProxy window of the Content Engine GUI. Detailed configuration, statistics, and reporting of RealProxy status are obtained through the RealAdministrator GUI.
A RealProxy window has been added to the Content Engine management GUI (Figure 12-1). The ADMIN button is active on the Content Engine Management GUI when the RealProxy software is installed and enabled. You will be provided with a default username and password to access this administration window from the Content Engine GUI.
Note
You must configure disk space to include mediafs storage with the disk config EXEC command before you can run streaming media using RealProxy.
Configuring RTSP Services on a Locally Deployed Content Engine
This section describes how to configure RTSP services on a locally deployed Content Engine. It includes the following topics:
•
Configuring the RTSP Gateway
•
Configuring and Enabling the Cisco Streaming Engine
•
Configuring and Enabling RealSubscriber
•
Configuring and Enabling RealProxy Caching
Note
To configure a locally deployed Content Engine to receive and send RTSP broadcasts, use the rtsp global configuration command.
Configuring the RTSP Gateway
To configure the RTSP gateway parameters on a locally deployed Content Engine, use the rtsp {ip-address ip-address | l4-switch enable | port incoming port} command.
Table 12-1 describes these parameters of the rtsp ip-address global configuration command.
Table 12-1 Parameters for the rtsp Command
Parameter
|
Description
|
ip-address
|
Configures the IP address for RTSP-based content distributors.
|
ip-address
|
IP address for RTSP-based content distributors.
|
l4-switch
|
Configures Layer 4 switch interoperability with RTSP.
|
enable
|
Enables Layer 4 switch interoperability.
|
port
|
Configures the RTSP port to listen for requests.
|
incoming
|
Sets the listener port for incoming RTSP requests.
|
port
|
Port number for incoming requests (1-65535). The default is 554.
|
To use the CLI to configure RTSP gateway parameters on a locally deployed Content Engine, follow these steps:
Step 1
From global configuration mode, specify the incoming ports (the ports on which the Content Engine is to listen for RTSP requests).
ContentEngine(config)# rtsp port incoming portnumber
Step 2
Specify the IP address of the RTSP gateway. This is usually the Content Engine that is serving the requested content.
ContentEngine(config)# rtsp ip-address ip-address
Step 3
Enable redirection with a Layer 4 switch, such as a Cisco CSS 11000 series switch.
ContentEngine(config)# rtsp l4-switch enable
Configuring and Enabling the Cisco Streaming Engine
ACNS 5.x software includes support for a standard RTSP server, also known as the Cisco Streaming Engine solution, for RTSP streaming media protocol.
Note
You do not need a license to use the Cisco Streaming Engine to deliver RTSP streaming media.
To configure Cisco Streaming Engine parameters on a locally deployed Content Engine, use the rtsp server cisco-streaming-engine global configuration command.
rtsp server cisco-streaming-engine {broadcast port-list list-num port-num [port-num] | id id source {source-udp url srce-ip-addr recv-ip-addr recv-port-list-num track-count 1-4 | source-rtsp rtsp-url track-count 1-4} destination destination-pull | destination-udp ttl dest-ip-addr list-num}
Table 12-2 describes the parameters for the rtsp server cisco-streaming-engine command.
Table 12-2 Parameters for the rtsp server cisco-streaming-engine Command
Parameter
|
Description
|
server
|
Configures the RTSP server parameters.
|
cisco-streaming-engine
|
Configures the Cisco Streaming Engine parameters.
|
enable
|
Enables the Cisco Streaming Engine.
|
broadcast
|
Configures live streaming with the Cisco Streaming Engine.
|
port-list
|
Specifies an ordered list of ports to be used for configuring live streaming content.
|
list-num
|
Numeric identifier for the list of ports.
|
port-num
|
Port numbers to be used for live streaming.
|
id
|
Configures a specific live streaming program.
|
id
|
Alphanumeric identifier for the live streaming program.
|
source
|
Configures information about the source of the live streaming content.
|
source-udp
|
Specifies an external server sending unicast or multicast streaming content over UDP.
|
url
|
HTTP URL required to access the SDP file for the stream.
|
srce-ip-addr
|
IP address of the external source of the streaming content.
|
recv-ip-addr
|
IP address used to receive the stream. Use a multicast address when receiving multicast streams. Use 0.0.0.0 when receiving a push (proactively streaming) unicast transmission.
|
recv-port-list-num
|
Numeric identifier for the list of ports.
|
track-count
|
Specifies the number of tracks in the streaming content. This should match the number of ports configured in the port list.
|
1-4
|
Number of tracks.
|
source-rtsp
|
Specifies an external server providing RTSP streaming access.
|
url
|
RTSP URL required to access the SDP file for the stream.
|
destination
|
Configures information about the destination of the live streaming content.
|
destination-pull
|
Specifies an RTSP unicast on-demand access point.
|
destination-udp
|
Specifies a multicast UDP destination.
|
ttl
|
Time to live for multicast live streaming packets.
|
dest-ip-addr
|
IP address for the multicast transmission.
|
dest-list-num
|
Numeric identifier for the list of ports.
|
Configuration Examples
The following examples illustrate the various scenarios supported using the Cisco Streaming Engine for live streaming support, which is introduced in ACNS 5.1 software.
Example 1
In this example, the source is UDP unicast, with the server proactively streaming content.
ContentEngine2(config)# rtsp server cisco-streaming-engine broadcast port-list 1 21112
21114
ContentEngine2(config)# rtsp server cisco-streaming-engine broadcast id p1 source
source-udp http://172.19.227.80/17902.sdp 172.19.227.78 0.0.0.0 1 track-count 2
destination destination-udp 1 239.2.2.101 1
The ID of the stream is p1. The destination is UDP multicast, which automatically provides the RTSP access point. That is, users can access the stream with: rtsp://ContentEngine2.cisco.com/p1.sdp
Example 2
In this example, the source is a client-initiated RTSP unicast. The destination is UDP multicast, as in the previous example.
ContentEngine1(config)# rtsp server cisco-streaming-engine broadcast port-list 2 22222
22224
ContentEngine1(config)# rtsp server cisco-streaming-engine broadcast id p2 source
source-rtsp rtsp://172.31.150.162:550/cse_live/ucast/p1.sdp track-count 2 destination
destination-udp 2 239.2.2.102 2
Example 3
In this example, the source is a push UDP unicast, as in the first example. The destination is a client-initiated RTSP unicast. This configuration is useful in situations where you do not want push UDP streaming to waste network bandwidth.
ContentEngine2(config)# rtsp server cisco-streaming-engine broadcast port-list 3 23332
23334
ContentEngine2(config)# rtsp server cisco-streaming-engine broadcast id p3 source
source-udp http://172.19.227.80/3861.sdp 172.19.227.78 0.0.0.0 3 track-count 2 destination
destination-pull
Example 4
In this example, the source is a client-initiated RTSP unicast, which is the same as in the second example. The destination is a client-initiated RTSP unicast.
ContentEngine1(config)# rtsp server cisco-streaming-engine broadcast id p4 source
source-rtsp rtsp://172.31.150.162:550/cse_live/ucast/p2.sdp track-count 2 destination
destination-pull
Example 5
In this example, the source is a proactively streaming UDP multicast and the receiving IP address is a multicast IP address. This means that the Content Engine is receiving the stream from the same external source as in the first example, but the server is now sending a multicast to the network instead of sending a unicast to the Content Engine. The destination is a client-initiated RTSP access point only, as in the third and fourth examples.
ContentEngine2(config)#rtsp server cisco-streaming-engine broadcast port-list 5 25552
25554
ContentEngine2(config)#rtsp server cisco-streaming-engine broadcast id p5 source
source-udp http://172.19.227.80/17902.sdp 172.19.227.78 239.2.2.240 5 track-count 2
destination destination-pull
Example 6
The following example has the same source as in the previous example, but the destination is a proactively streaming multicast over UDP. Of course, the RTSP access point is still provided.
ContentEngine2(config)#rtsp server cisco-streaming-engine broadcast port-list 6 26662
26664
ContentEngine2(config)#rtsp server cisco-streaming-engine broadcast id p6 source
source-udp http://172.19.227.80/17902.sdp 172.19.227.78 239.2.2.240 6 track-count 2
destination destination-udp 239.2.2.102 2
Configuring and Enabling RealSubscriber
ACNS 5.1 software includes RealServer Version 9 as an optional component that is used as a streaming media engine. When RealServer software is configured for subscriber-only mode, it is referred to as RealSubscriber.
To configure RealSubscriber on a locally deployed Content Engine, use the rtsp server real-subscriber global configuration command.
rtsp server real-subscriber {accept-license-agreement | drm {accept-license-agreement | enable | evaluate | license-key keyword}| enable | evaluate | license-key keyword}
Table 12-3 describes the parameters for the rtsp server real-subscriber command.
Table 12-3 Parameters for the rtsp server real-subscriber Command
Parameter
|
Description
|
real-subscriber
|
Configures the RealSubscriber parameters.
|
accept-license-agreement
|
Accepts the RealSubscriber license. You can view the RealSubscriber license agreement with the show rtsp server real-subscriber license-agreement command.
|
drm
|
Configures Real Subscriber digital rights management.
|
enable
|
Enables RealSubscriber.
|
evaluate
|
Starts or continues the 60-day evaluation period of RealSubscriber.
|
license-key
|
Sets the required license key for RealSubscriber.
|
keyword
|
Specifies the RealSubscriber keyword string.
|
The following is an example of how to use the CLI to configure RealSubscriber parameters on a locally deployed Content Engine.
Step 1
View the RealSubscriber license agreement by using the show rtsp server real-subscriber license-agreement command in EXEC mode.
ContentEngine# show rtsp server real-subscriber license-agreement
Step 2
After reading the license agreement, enter global configuration mode and accept the license agreement.
ContentEngine(config)# rtsp server real-subscriber enable accept-license-agreement
Step 3
Enter your Cisco license key.
ContentEngine(config)# rtsp server real-subscriber license-key licensekey
Alternatively, use the real-subscriber evaluate command to accept a 60-day evaluation license.
ContentEngine(config)# rtsp server real-subscriber evaluate
You can accept a RealSubscriber evaluation license that allows you to use the licensed software for a limited period. The evaluation license can be invoked only once and does not require a license key. The evaluation license allows the licensed program to be enabled for 60 days.
When the preset evaluation time has elapsed, RealSubscriber is automatically disabled. You can purchase a valid license key from Cisco Systems and enter the license key into the configuration at any time during the evaluation period for uninterrupted use of RealSubscriber.
Step 4
Enable RealSubscriber.
ContentEngine(config)# rtsp server real-subscriber enable
Configuring and Enabling RealProxy Caching
RealProxy software is configured using the RealSystem administrator GUI, which is accessed from the RealProxy page of the Content Engine GUI (as described in Step 6 of this section).
To configure and enable RealProxy caching on a locally deployed Content Engine, follow these steps:
Step 1
View the RealProxy license agreement by using the show rtsp proxy media-real license-agreement command in EXEC mode.
ContentEngine# show rtsp proxy media-real license-agreement
Step 2
After reading the license agreement, enter global configuration mode and accept the license agreement.
ContentEngine(config)# rtsp proxy media-real accept-license-agreement
Step 3
Enter your Cisco license key.
ContentEngine(config)# rtsp proxy media-real license-key licensekey
Alternatively, use the rtsp proxy media-real evaluate command to accept a 60-day evaluation license.
Step 4
Configure an IP address for the RTSP gateway that is visible to the RealPlayer clients that use it.
ContentEngine(config)# rtsp ip-address ip-address
Tip
This step is required before you can enable RealProxy media caching.
Step 5
Enable RealProxy media caching on the Content Engine with the rtsp proxy media-real enable command.
ContentEngine(config)# rtsp proxy media-real enable
Now that you have enabled RealProxy caching on the Content Engine, you can configure the RTSP parameters required for streaming media connections through RTSP traffic technologies by transparent caching or conventional caching.
Note
You must configure disk space to include mediafs storage with the disk config command before you can run cache streaming media using RealProxy. You may also want to configure the percentage of mediafs space allocated to RTSP traffic with the mediafs-division global configuration command.
Step 6
To configure the RealProxy software on this Content Engine, access the RealSystem administrator GUI as follows:
a.
From the Content Engine GUI, choose Caching > Real Proxy. The Content Engine Real Proxy window appears. (See Figure 12-1.)
Note
To access the Content Engine GUI, enter the Content Engine IP address in secure mode and append the default port number 8003 as the URL address in your browser of choice. For example, enter https://CEIPaddress:8003 as the URL.
Figure 12-1 Content Engine Real Proxy WIndow
Note
The ADMIN button only appears in the Content Engine Real Proxy window if the RealProxy software has been installed and enabled.
b.
In the Content Engine RealProxy window, click the ADMIN button.
c.
Use admin as the default username and diamond as the password to access the RealSystem administration GUI from the Content Engine RealProxy window. The main window for the RealSystem administrator GUI (see Figure 12-2) appears.
Figure 12-2 Real System Administrator GUI
Step 7
Use the RealSystem administrator GUI to configure the RealProxy software on the locally deployed Content Engine.
Enabling Transparent Caching of RTSP Traffic to RealProxy Using WCCP-Enabled Routers
During transparent caching, the user's network traffic flows through the WCCP-enabled router rather than through the Content Engine to access streaming media. To enable transparent redirection of RTSP traffic to the RealProxy server on a locally deployed Content Engine, you need the following:
•
Content Engine running ACNS 4.1 or later software
•
RealProxy software installed with mediafs partitions mounted
•
RealNetworks, Inc., license key
•
IP addresses of the RealProxy and routers
To enable transparent redirection of RTSP traffic to the RealProxy server on a locally deployed Content Engine, follow these steps:
Step 1
Enable the RealProxy server on the locally deployed Content Engine.
Note
For more information about enabling RealProxy on a locally deployed Content Engine, see the "Configuring and Enabling RealProxy Caching" section.
Step 2
On the routers running WCCP Version 2, turn the WCCP feature on for the specified service group used to redirect RTSP traffic to the locally deployed Content Engine. For more information on router commands, see "Web Cache Communication Protocol Version 2."
Router(config)# ip wccp 80
Step 3
Configure the outbound interfaces to the Internet and enter interface configuration mode. In the following example, the outbound interface is the Ethernet 0 device.
Router(config)# interface Ethernet 0
Step 4
Enable WCCP redirection to service group 80 on the interface specified in Step 3. In this example, the outgoing router interface is chosen to intercept RTSP traffic. You can also use the ip wccp 80 redirect in command to intercept traffic on the incoming interface.
Router(interface)# ip wccp 80 redirect out
Step 5
Enable WCCP Version 2 on the locally deployed Content Engine.
ContentEngine(config)# wccp version 2
Step 6
In the following example, the WCCP Version 2-enabled routers have the IP addresses 172.16.25.25 and 172.16.26.26.
ContentEngine(config)# wccp rtsp router-list 1 172.16.25.25 172.16.26.26
Step 7
Enable the router list configured in the previous step.
ContentEngine(config)# wccp rtsp router-list-num 1
Step 8
Save the new configuration.
ContentEngine# copy running-config startup-config
Step 9
Configure the RealProxy parameters as needed with the RealSystem administrator GUI (shown in Figure 12-2).
For more information about the RealSystem administrator GUI, click Documentation in the RealSystem administrator GUI.
Enabling Conventional Proxy Caching of RTSP Traffic to RealProxy
During conventional proxy caching, the user's media player is pointed to the Content Engine rather than to a WCCP-enabled router to access streaming media. To configure conventional proxy caching of RTSP on a locally deployed Content Engine, you need the following:
•
Content Engine running ACNS 4.1 or later software
•
RealProxy software installed with mediafs partitions mounted
•
RealNetworks, Inc., license key
•
IP address of the RealProxy
To enable conventional proxy caching of RTSP to the RealProxy server on a locally deployed Content Engine, follow these steps:
Step 1
Enable RealProxy on the Content Engine.
Note
For more information about enabling RealProxy on a locally deployed Content Engine, see the "Configuring and Enabling RealProxy Caching" section.
Step 2
Configure the Content Engine to listen for RTSP traffic on a specified port. The default RTSP port is 554.
ContentEngine# rtsp port incoming portnumber
Step 3
Configure RealPlayer 8.02 clients to use the RealProxy on the Content Engine.
a.
Open RealPlayer.
b.
Choose View > Preferences.
c.
Click the Proxy option under Category settings.
d.
Under Streaming Settings, click Change Settings.
e.
Click the Use proxies radio button.
f.
In the RTSP Proxy address field, enter the IP address of the Content Engine.
g.
In the Port field, enter the port number that you entered in Step 2.
h.
Click OK.
Step 4
Configure the RealProxy parameters as needed with the RealSystem administrator GUI.
The RealSystem Administrator Configuration window is shown in Figure 12-2.
RealPlayer is now able to use the Content Engine as a RealProxy server to fetch streaming objects.
Tip
For more information on setting up the RealSystem components used with the RealProxy, refer to the readme "Setting Up RealSystem Server" and "Setting Up RealSystem Player" sections at the following URL: http://service.real.com/help/library/guides/proxy/readme.htm#5
Step 5
Save the Content Engine configuration to flash memory.
ContentEngine# copy running-config startup-config
RealProxy Considerations
Use the following sections to help you configure additional RealProxy features on a locally deployed Content Engine.
Disabling RealMedia Caching
The RealProxy player comes with a streaming media cache of its own for the replication of on-demand content. However, an administrator may wish to disable caching for various reasons:
•
To collect more accurate data regarding cache hits or misses
•
To prevent delivery of stale data
•
To prevent personalized content by users
To prevent caching of all material from all servers and the RealProxy, follow these steps:
Note
The administrator, usernames, and all associated passwords configured on the Content Engine are not the same as the ones contained in the RealProxy authentication database. Therefore, not all Content Engine users have access to the RealSystem Administrator GUI.
Step 1
Access the RealSystem Administrator GUI window by clicking the Admin button in the RealProxy window of the Content Engine GUI. (See Figure 12-1.) (You must enable the RealProxy before you can access the Admin button on this window.)
Step 2
Choose Configure > Cache.
Step 3
In the Enable Caching field, choose No.
Step 4
Click Apply.
Step 5
Restart the RealProxy by restarting the Content Engine GUI.
Streaming On-Demand Clips
All on-demand clips are automatically available to the Content Engine. If there is content served by your RealServer that you do not want to be cached, see the "Disabling RealMedia Caching" section.
Unicasting, Splitting, and Multicasting
Live clips are not available to caching software; the RealProxy will still act as a proxy to deliver live broadcasts for clients. RealServer acts as a source for live splitting, and the RealProxy acts as a splitter.
Access Control
If a client requests a cached stream, the RealProxy sends the request to the source RealServer for permission before allowing the client to play the stream. If RealServer denies the request, the RealProxy does not allow the client to receive the stream.
You can block a single RealProxy from caching the material served by your RealServer by creating an access control rule from the RealSystem Administrator GUI that prohibits the IP address of that RealProxy from connecting to your RealServer. You can also restrict access to content based on the number of players and bandwidth.
The RealProxy cannot cache live broadcasts, because no actual downloadable file is there to cache. However, the RealProxy includes an ability to "share" live streams among clients and thus reduce the bandwidth required from a transmitter. RealServer and the RealProxy communicate through live splitting; RealServer is preconfigured to act as a transmitter, and the RealProxy is automatically set up to act as a receiver.
Note
A description of RTSP is available as IETF RFC 2326.
RealProxy Examples
The following example displays RTSP request statistics. The statistics reported are the total number of requests served, the total number of cache hits and misses, the total demand pass-through, and the total number of live connections, either by splitting or by live pass-through.
ContentEngine# show statistics rtsp proxy media-real requests
Media Cache Statistics - Requests
---------------------------------------------------
Total Received Requests: 17 -
Demand Cache Hit: 11 64.7
Demand Cache Miss: 6 35.3
Demand Pass-Through: 0 0.0
The following example displays RTSP savings statistics. In this example, the statistics reported are the total number of requests served, the total number of cache hits and misses, the bytes delivered, and the savings incurred by caching.
ContentEngine# show statistics rtsp proxy media-real savings
Media Cache Statistics - Savings
-----------------------------------------------------------
Configuring WMT Services on a Locally Deployed Content Engine
This section describes how to configure WMT services on a locally deployed Content Engine. It includes the following topics:
•
Enabling WMT on a Locally Deployed Content Engine
•
Enabling Transparent WMT Service Using WCCP-Enabled Routers
•
Enabling Conventional WMT Proxy Service
WMT Usage Guidelines
When configuring WMT streaming media services on a locally deployed Content Engine, note the following:
•
WMT Version 9 is a set of streaming solutions for creating, distributing, and playing back digital media files on the Internet. WMT includes the end user application (Windows Media Player), the server and distribution application (Windows Media Server) and the encoder application (Windows Media Encoder).
Note
ACNS 5.1 software interoperates with WMT Version 9 Windows Media Player, Windows Media Encoder and Windows Media Server; however the Content Engine does not provide the full functionality of a WMT Version 9 Windows Media Server, and so cannot fully replace the server in the ACNS software 5.1 release.
•
Windows Media Player 9.0 bypasses the proxy and serves the request from the origin server when the proxy server fails to serve a request that uses MMS over HTTP as the protocol. Previous versions of Windows Media Player (Versions 6.4 and 7.0) did not support this feature.
Typically, proxy servers fail to serve a request for one of these reasons:
–
The requested media file exceeds the configured values in the Content Engine (bandwidth, maximum number of sessions, or maximum bit rate).
–
The URL fails to comply with the rules or URL filter configured in the Content Engine.
–
The proxy server is down.
•
To disseminate live and pre-positioned Windows Media content on an ACNS network, you need WMT caching proxy and server capabilities on the Content Engine. This guide focuses on the WMT caching proxy capabilities of the Content Engine. For information about the WMT server capabilities, refer to the Cisco ACNS Software Deployment and Configuration Guide, Release 5.1.
•
You must configure disk space to include mediafs storage with the disk config EXEC command before you can run streaming media using WMT.
•
Before enabling the WMT license for streaming media services on the Content Engine, make sure that the Content Engine clock and calendar settings are correct; otherwise, you will see an error message that and the services will fail to install. Use the show clock command to display the system clock. To set the system clock, use the clock set EXEC command.
•
You can use the show statistics wmt requests command to display WMT request statistics. In this example, the statistics reported are the total number of requests served, type of content (live or VOD), transport protocol, and source of content.
Adding or Removing WMT MMS Allowed Filename Extensions
Content Engines use a list of filename extensions to decide whether a type of media file should be served by WMT. Typically, Content Engines are shipped with a default list of filename extensions to be served by WMT.
Use the he wmt mms allow extension global configuration command to add file name extensions to this list. Use the no version of this command (no wmt mms allow extension) to remove a file name extension from the list.
The default list in the Content Engine contains the following file name extensions:
•
asf
•
none
•
nsc
•
wma
•
wmv
Note
The default list of file name extensions includes none in order to enable a Content Engine to serve media files without file extensions (for example, broadcast aliases or URLs of live encoders). The file name extension nsc is included in the list to enable a Content Engine to multicast media files.
The following restrictions apply to adding new file extensions to the list:
•
You cannot have more than 20 extensions in the list of allowed file extensions.
•
File extensions must be alphanumeric, and the first character of every extension should be an alphabetic one.
•
You cannot have more than 10 characters in a file extension.
The following example adds the file extension mp3 to the list of file extensions to be served by WMT:
ContentEngine(config)# wmt mms allow extension mp3
You can use the show wmt mms allow extension EXEC command to see the file extensions included in the list after you add or delete file extensions.
Tip
The show wmt mms allow extension will not display anything if you have not modified the default list.
This is an example of the show wmt mms allow extension command, where the default list of file extension is not modified:
ContentEngine# show wmt mms allow extension
This is an example of the show wmt mms allow extension command, after adding the file extension mp3 to the list of file extensions:
ContentEngine(config)# show wmt mms allow extension
WMT mms extensions allowed :
Configuring WMT Parameters with CLI Commands
Use the wmt global configuration command to configure WMT parameters on a locally deployed Content Engine.
wmt accept-license-agreement
wmt bandwidth incoming bypass-list {ip-address | hostname} [ip-address | hostname]
wmt broadcast {alias-name name source url}
wmt cache {enable | max-obj-size size | unique-stream-key}
wmt disallowed-client-protocols [HTTP] [TCP] [UDP]
wmt enable
wmt evaluate
wmt fast-live-split enable
wmt fast-proxy-cache enable
wmt incoming number
wmt l4-switch enable
wmt license-key key
wmt live-url-stripping enable
wmt max-concurrent-sessions number
wmt mms {allow {extension { file name}}}
wmt multicast {schedule-start name minute hour day month | station-configuration name
dest_addr dest_port media_source [log {local | webserver}] [play-forever] [unicast-url url] |
time-to-live ttl}
wmt proxy outgoing {http | mms} host {hostname | ip-address} port
Table 12-4 describes the parameters of the wmt global configurations command that is used to configure WMT parameters on a locally deployed Content Engine.
Table 12-4 Parameters of the wmt CLI command
Parameter
|
Description
|
accept-license-agreement
|
Acknowledges and accepts the end user license agreement (EULA). Although the no form of this command is available from the CLI, it simply prints an error message that the EULA acceptance cannot be revoked.
|
bandwidth
|
Configures the WMT incoming bandwidth configurations.
|
broadcast
|
Configures a live broadcast.
|
alias-name
|
Configures the broadcast alias name.
|
name
|
Broadcast alias name.
|
source
|
Specifies broadcast source URL.
|
url
|
Broadcast source URL.
|
cache
|
Configures the WMT cache.
|
enable
|
Enables the WMT media cache.
|
max-obj-size
|
Sets the maximum size of the object to be cached.
|
size
|
Object size in megabytes (1-1000000).
|
disallowed-client-protocols
|
Specifies disallowed WMT client protocols.
|
HTTP
|
(Optional) Disallows HTTP (streaming over http://).
|
TCP
|
(Optional) Disallows TCP (mmst://).
|
UDP
|
(Optional) Disallows UDP (mmsu://).
|
enable
|
Enables the WMT server.
|
evaluate
|
Starts or continues a 60-day evaluation of WMT.
|
fast-live-split
|
Specifies live-split performance improvement.
|
enable
|
Enables live-split performance improvement.
|
fast-proxy-cache
|
Specifies live-split cache performance improvement.
|
enable
|
Enables live-split cache performance improvement.
|
incoming
|
Configures incoming WMT requests.
|
number
|
Port number to listen for requests (1-65535).
|
l4-switch
|
Configures Layer 4 switch interoperability for WMT.
|
enable
|
Enables Layer 4 switch interoperability for WMT.
|
license-key
|
Sets the WMT license key. Although the no form of this command is available from the CLI, it simply prints an error message that the license key cannot be removed.
|
key
|
License key.
|
live-url-stripping
|
Allows the WMT proxy to strip out personalization information from the URL before using it for live-splitting purposes during WMT playback.
|
enable
|
Enables live URL stripping.
|
max-concurrent-sessions
|
Configures the maximum number of unicast clients that can be served concurrently.
|
number
|
Limit for incoming unicast requests; this limit is subject to physical resources on the platform (1-8000).
|
mms
|
Sets MMS configurations.
|
allow
|
Sets the MMS allow list configuration.
|
extension
|
Sets the MMS extension used to in the list configuration.
|
file
|
Sets the filename used in the list configuration.
|
name
|
Sets filename to be used in the list configuration.
|
multicast
|
Configures multicasting and scheduling.
|
schedule-start
|
Configures an automatic start schedule.
|
name
|
Multicast station name.
|
minute
|
Start time minute (0-59).
|
hour
|
Start time hour (0-23).
|
day
|
Start time day (1-31).
|
month
|
Start time month (1-12).
|
station-configuration
|
Configures multicast stations.
|
name
|
Multicast station name.
|
dest_addr
|
Multicast station destination IP address.
|
dest_port
|
Multicast station destination port (1-65535).
|
media_source
|
Multicast station media source.
|
log
|
(Optional) Enables logging of multicast URLs.
|
local
|
Configures logging of multicast URLs to local disk.
|
webserver
|
Configures logging of multicast URLs to a web server. Enter the URL to identify the location of the web server.
|
play-forever
|
(Optional) Configures the stream to loop and restart. The default is to play the stream once and stop.
|
unicast-url
|
(Optional) Unicast rollover URL if station is unable to receive multicast.
|
url
|
Fully qualified unicast rollover URL.
|
time-to-live
|
Configures the maximum number of hops needed to reach the Content Engine that functions as the multicast server.
|
ttl
|
Number of hops (0-255). The default is 5 hops.
|
proxy
|
Configures a proxy.
|
outgoing
|
Configures an outgoing proxy.
|
http
|
Configures an outgoing Microsoft Media Server (MMS) over HTTP proxy.
|
mms
|
Configures an outgoing MMS proxy configuration.
|
host
|
Configures the host of an outgoing MMS over HTTP proxy.
|
hostname
|
Host name of an outgoing proxy.
|
ip-address
|
IP address of an outgoing proxy.
|
port
|
Port number of an outgoing proxy (1-65535).
|
See the following sections in this chapter for information about how to enable WMT, enable transparent redirection of MMS traffic, configure the Content Engine to service WMT clients as a WMT proxy, and enable WMT multicasting.
•
Enabling WMT on a Locally Deployed Content Engine
•
Enabling Transparent WMT Service Using WCCP-Enabled Routers
•
Enabling Conventional WMT Proxy Service
•
Configuring WMT Multicasting
Enabling WMT on a Locally Deployed Content Engine
To enable WMT on a locally deployed Content Engine, follow these steps.
Note
To enable WMT on the Content Engine, you must use CLI commands.
Step 1
Access the CLI and view the WMT license agreement by using the show wmt license-agreement command in EXEC mode.
ContentEngine# show wmt license-agreement
Step 2
After reading the license agreement, enter global configuration mode and accept the license agreement.
ContentEngine(config)# wmt accept-license-agreement
Step 3
Enter your Cisco license key.
ContentEngine(config)# wmt license-key licensekey
Alternatively, accept an evaluation license by using the wmt evaluate command.
ContentEngine(config)# wmt evaluate
Step 4
Enable WMT on the Content Engine with the wmt enable command.
ContentEngine(config)# wmt enable
You are now able to configure the WMT parameters required for streaming media connections through WMT by transparent caching or conventional proxy caching.
Note
You must configure disk space to include mediafs storage with the disk config command before you can run cache streaming media using WMT.
Configuring WMT Proxy Settings
To configure WMT proxy settings on a locally deployed Content Engine use the wmt global configuration command.
Note
To enable WMT on the Content Engine, you must use CLI commands.
Step 1
Enable L4 switch support.
ContentEngine(config)# wmt l4-switch enable
Enables redirection with a Layer 4 switch, such as a Cisco CSS 11000 series switch.
Step 2
Specify the maximum value of streaming media objects in megabytes (MB).
ContentEngine(config)# wmt cache max-obj-size size
Step 3
Enable an outgoing HTTP proxy (enables out-going MMS-over-HTTP proxy configuration).
ContentEngine(config)# wmt proxy outgoing http host {hostname | ip-address} port
where:
•
hostname is the host name or ip-address is the IP address of the outgoing HTTP proxy.
•
port is the port number of the outgoing proxy (standard port is 1755).
Step 4
Enable an outgoing MMS proxy (enables out-going MMS proxy configuration).
ContentEngine(config)# wmt proxy outgoing mms host {hostname | ip-address} port
where:
•
hostname is the host name or ip-address is the IP address of the outgoing MMS proxy.
•
port is the port number of the outgoing proxy.
Enabling Transparent WMT Service Using WCCP-Enabled Routers
During transparent caching, the user's network traffic flows through the WCCP-enabled router rather than through the Content Engine to access streaming media. Before enabling transparent caching, be sure that you have fulfilled the following requirements:
•
The Content Engine is running ACNS 4.1 or later software.
•
The WMT proxy software is installed with mediafs partitions mounted on the Content Engine.
•
You have a WMT license key.
•
You have the IP address of the router or routers.
To enable transparent redirection of MMS traffic to a locally deployed Content Engine, follow these steps:
Step 1
Enable WMT on the locally deployed Content Engine.
For more information on how to enable WMT, see the "Enabling WMT on a Locally Deployed Content Engine" section.
Step 2
On the routers running WCCP Version 2, turn WCCP on for the specified service groups used to redirect WMT traffic to the Content Engine. (For more information on router commands, see "Web Cache Communication Protocol Version 2.")
Router(config)# ip wccp 81
Router(config)# ip wccp 82
Note
MMS works on two transport protocols: TCP and UDP. To perform a WCCP redirect of MMS traffic, the router has to redirect both TCP and UDP traffic. With a router running WCCP Version 2, that means that you must enable two WCCP service groups on the router. The standard service group is 81 for TCP and 82 for UDP.
Step 3
Configure the outbound interfaces to the Internet and enter interface configuration mode. In the following example, the outbound interface is Ethernet 0.
Router(config)# interface Ethernet 0
Step 4
Enable WCCP redirection to service groups 81 and 82 on the specified interface.
Router(interface)# ip wccp 81 redirect out
Router(interface)# ip wccp 82 redirect out
Note
Although typical router configuration in a branch office scenario involves configuring the outgoing interface, you can also configure the incoming interface on the router for traffic redirection. This depends primarily on the client's network topology.
Step 5
Enable WCCP Version 2 on the Content Engine.
ContentEngine(config)# wccp version 2
Step 6
Create the numbered router list that you wish to associate with this service. In the following example, the WCCP Version 2-enabled routers associated with router list 1 have the IP addresses 172.16.25.25 and 172.16.26.26.
ContentEngine(config)# wccp router-list 1 172.16.25.25 172.16.26.26
Step 7
Enable the router list created in the previous step.
ContentEngine(config)# wccp wmt router-list-num 1
Step 8
Save the new configuration.
ContentEngine# copy running-config startup-config
Step 9
Configure WMT parameters as needed using CLI commands or the Content Engine GUI.
Note
Refer to the Cisco ACNS Software Command Reference, Release 5.1 for more detailed information on WMT parameters. Alternatively, from the Content Engine GUI, you can choose Caching > WMT-Streaming and click the WMT Config button (see Figure 12-3) to configure the WMT parameters through the Content Engine GUI.
Figure 12-3 WMT Administration Page in Content Engine GUI
Step 10
Use the following CLI command to display all WMT statistics once you have started the WMT player:
ContentEngine# show statistics wmt all
Tip
The WMT statistics relate only to objects transported over MMS that were requested by a WMT client. Objects transported over HTTP are counted in the HTTP statistics.
Enabling Conventional WMT Proxy Service
During conventional proxy caching, the user's media player is pointed to the Content Engine rather than to a WCCP-enabled router to access streaming media. Before enabling conventional WMT proxy service, be sure you have fulfilled the following requirements:
•
The Content Engine is running ACNS 4.1 or later software.
•
WMT proxy software is installed with mediafs partitions mounted on the Content Engine.
•
You have a Microsoft WMT license key.
•
You have the IP address of the Content Engine.
To configure conventional WMT proxy service, follow these steps:
Step 1
Enable WMT on the Content Engine.
For more information on how to enable WMT, see the "Enabling WMT on a Locally Deployed Content Engine" section.
Step 2
Configure the Content Engine to listen for WMT traffic on a specified port. The default WMT port is 1755.
ContentEngine(config)# wmt incoming portnumber
Step 3
Configure WMT media players to use the locally deployed Content Engine as the WMT proxy.
a.
Open the Windows Media Player.
b.
Choose Tools > Options.
c.
Click the Network tab. (See Figure 12-4.)
Figure 12-4 WMT Media Player Network Options Screen
d.
Click the Multicast, UDP, TCP and HTTP radio buttons if not selected.
e.
Click MMS under Proxy Settings and click Configure. The Configure Protocol screen appears. (See Figure 12-5.)
Figure 12-5 Configure Protocol Window in WMT Media Player
f.
Click Use the following proxy server.
g.
Enter the IP address of the Content Engine in the Address field.
h.
In the port field, enter the port number that you entered in Step 2.
i.
Click OK.
Step 4
Save the new configuration.
ContentEngine# copy running-config startup-config
Step 5
Configure WMT parameters as needed using CLI commands or the Content Engine GUI.
•
See the "Configuring WMT Parameters with CLI Commands" section for a description of the wmt command, which is used to configure WMT parameters. For more detailed information about the wmt command, refer to the Cisco ACNS Software Command Reference, Release 5.1.
•
From the Content Engine GUI, choose Caching > WMT-Streaming. In the displayed WMT window (Figure 12-3), click the WMT Config button. Use the displayed links to access the Content Engine windows used to configure WMT parameters on this Content Engine.
Tip
To access the Content Engine GUI, enter the Content Engine IP address and append the default port number 8003 as the URL address in your browser of choice. For example, enter https://CEIPaddress:8003 as the URL. For more information on how to access the features supported by the Content Engine GUI, see the "Accessing the Content Engine GUI" section.
Step 6
Use the following CLI command to display all WMT statistics once you have started the WMT player:
ContentEngine# show statistics wmt all
The displayed WMT statistics relate only to objects transported over MMS that were requested by a WMT client.
Note
Objects transported over HTTP are counted in the HTTP statistics. Streaming objects requested by other clients or transported over protocols other than RTSP (for RealPlayer streaming media) bypass the Content Engine.
Configuring WMT Multicasting
Based on the capabilities and limitations of the network, a Content Engine can receive and deliver WMT streaming content through IP multicast in these ways:
•
Configuring WMT Multicast Station Schedules
•
Configuring Multicast-In Multicast-Out
•
Configuring Multicast-In Unicast-Out
•
Configuring Unicast-In Unicast-Out
The unicast-in multicast-out multicast delivery feature enables you to distribute streaming media efficiently by allowing different devices on the IP multicast to receive a single stream of media content from the Content Engine simultaneously. This can save significant network bandwidth consumption, because a single stream is sent to many devices, rather than sending a single stream to a single device every time that this stream is requested.
This multicast delivery feature is enabled by setting up a multicast address on the Content Engine to which different devices, configured to receive content from the same channel, can subscribe. The delivering device sends content to the multicast address set up at the Content Engine, from which it becomes available to all subscribed receiving devices.
The multicast-in multicast-out multicast receive feature enables you to receive multicast WMT streams delivered through IP multicasting, then relay them to end users through another delivery channel (unicast or multicast). The two WMT multicast-out features combined enable you to receive and deliver WMT streaming media content through IP multicasting, and to do conversions from multicast to unicast (and vice versa).
The multicast-in unicast-out scenario enables you to create a broadcasting publishing point to deliver an incoming stream live to requesting clients using multicast as the source of the streaming media.
The unicast-in unicast-out scenario provides a point-to-point connection between the client and the Content Engine. The Content Engine in turn makes a single connection to the media server. Multiple requests for the same stream can be split by the Content Engine so that each client receives a distinct data stream directly from the Content Engine, while the Content Engine maintains its single stream connection to the media server. The client can request a stream that contains either stored or live content.
Note
A multicast station is a defined location (an IP address and port) at which a player can receive streams.
Using WMT Broadcast and Multicast CLI Commands
Two global configuration CLI commands are needed to configure the Content Engine for the four WMT multicasting scenarios described in this section:
•
wmt broadcast—Multicast-in unicast-out, unicast-in unicast-out
•
wmt multicast—Unicast-in multicast-out, multicast-in multicast out
Note
You must enable WMT on the Content Engine before you can use the wmt multicast and wmt broadcast commands. See the "Enabling WMT on a Locally Deployed Content Engine" section.
Using WMT Broadcasting CLI Commands
Use the wmt broadcast {alias-name name source url} command to configure the multicast-in unicast-out broadcast scenario on the Content Engine. With this command, you create a broadcasting alias to deliver an incoming stream live to requesting clients, using multicast as the source of the streaming media.
wmt broadcast {alias-name name source url}
Using WMT Multicasting CLI Commands
Use the wmt multicast {schedule-start name minute hour day month | station-configuration name dest_addr dest_port media_source [play-forever]} command to enable WMT multicasting for the unicast-in multicast-out and multicast-in multicast-out scenarios on the Content Engine.
The station-configuration name dest_addr dest_port media_source option specifies a multicast station name, an IP multicast address, port number, and media source for the multicast station created. Each station needs a multicast IP address. You must enter a valid Class D IP address multicast address in the range 224.0.0.0 to 239.255.255.255, except for the reserved IP ranges based on RFC 1700 and related documents as follows:
•
224.0.0.0-224.0.6.255
•
224.0.13.0-224.0.13.255
•
224.1.0.0-224.2.255.255
•
232.0.0.0-232.255.255.255
Note
You must choose a multicast IP address that does not conflict internally within the same multicast-enabled network configuration. This multicast IP address is not related to the IP address of the Content Engine. For a complete table of unusable multicast address ranges, see Table 2-9 in the "Understanding IP Multicasting Fundamentals" section.
The allowed multicast port range defined by the dest_port option is 1 through 65535. However, the multicast-enabled network may impose certain restrictions on your choice of port. Normally, port numbers below 1024 should be avoided, but the Content Engine does not enforce any restrictions.
The media_source option determines the source of the multicast. The source can be any valid WMT URL. In other words, if you can play the URL on your Windows Media player, then you can make this URL the source of your multicast.
ACNS 5.1 software has a new CLI global configuration command to configure the TTL for WMT multicast. Use the wmt multicast time-to-live ttl command to set the value for the TTL between 0 and 255 hops. The default is five hops.
Tip
You can also configure WMT multicasting parameters with the Content Engine GUI. Click the WMT Config button (shown in Figure 12-3) to access these parameters.
Configuring WMT Multicast Station Schedules
To configure schedules for WMT multicast stations, use the wmt multicast schedule-start global configuration command. The schedule-start name minute hour day month option creates a scheduling option to allow the Content Engine to start a multicast at a specified time. This option only works if you have configured a multicast station first, using the wmt multicast station-configuration command.
Table 12-5 describes the wmt multicast schedule-start command.
Table 12-5 Parameters for the wmt multicast schedule-start Command
Parameter
|
Description
|
multicast
|
Configures multicasting and scheduling.
|
schedule-start
|
Configures an automatic start schedule.
|
name
|
Name of the multicast station that you are creating the schedule for.
|
minute
|
Start time minute (0-59).
|
hour
|
Start time hour (0-23).
|
day
|
Start time day (1-31).
|
month
|
Start time month (1-12).
|
Starting and Stopping WMT Multicast Stations
To start or stop particular WMT multicast stations, use the wmt multicast-station command in EXEC mode.
ContentEngine# wmt {multicast-station {start name | stop name}
Table 12-6 describes the multicast station parameters for the wmt command.
Table 12-6 Parameters of the wmt Command for Starting and Stopping WMT Multicast Stations
Parameter
|
Description
|
multicast-station
|
Sets the WMT multicast stations to start or stop.
|
start
|
Starts a WMT multicast station.
|
name
|
Name of the WMT multicast station to be started.
|
stop
|
Stops a WMT multicast station.
|
name
|
Name of the WMT multicast station to be stopped.
|
The two following examples demonstrate the start and stop options on the multicast station named acme.
ContentEngine# wmt multicast-station start acme
ContentEngine# wmt multicast-station stop acme
Using WMT Multicast Logging
WMT logs are logged to a working log on the local disk in one of the following files depending upon where the sysf is mounted on the Content Engine:
•
The file named /local1/logs/export/working.log
•
The file named /local2/logs/working.log
Use the wmt multicast log command to provide multicast statistics to multicast server administrators. These statistics include the multicast IP address, port number, start time, and number of clients, among other things. When configuring this option, you have the choice to provide either a local URL where the multicast logging statistics can be sent, or an external fully qualified server URL that can receive these statistics. In other words, the multicast logging URL option can point to the multicast server itself or to any web server that is capable of processing the posted information from the users who subscribed to the multicast address.
wmt multicast {schedule-start name minute hour day month | station-configuration name dest_addr
dest_port media_source [log {local | webserver}] [play-forever] [unicast-url url] | time-to-live ttl}
The following example displays the multicast logging statistics sent to the multicast server.
10.1.101.2 2003-05-11 13:39:21 - asfm://233.0.4.5:4000 0 30 1 200
{5DC90EEB-CEB1-467C-9F7A-BCF5EEEDE3FF} 10.1.0.3055 en-US - - wmplayer.exe 10.1.0.3055
Windows_2000 10.0.0.2195 Pentium 0 152543 65389 asfm UDP WINDOWS_MEDIA_AUDIO_V2
MICROSOFT_MPEG-4_VIDEO_CODEC_V3 http://172.16.192.91/cisco.nsc - 166245 - 176 0 0 0 0 0 01
0 100 233.0.4.5 - - -
The format of the example shown is as follows:
c-ip date time c-dns cs-uri-stem c-starttime x-duration c-rate c-status c-playerid
c-playerversion c-playerlanguage cs(User-Agent) cs(Referer) c-hostexe c-hostexever c-os
c-osversion c-cpu filelength filesize avgbandwidth protocol transport audiocodec
videocodec channelURL sc-bytes c-bytes s-pkts-sent c-pkts-received c-pkts-lost-client
c-pkts-lost-net c-pkts-lost-cont-net c-resendreqs c-pkts-recovered-ECC
c-pkts-recovered-resent c-buffercount c-totalbuffertime c-quality s-ip s-dns
s-totalclients s-cpu-util CE-action CE-bytes Username
Table 12-7 describes the fields shown in this example.
Table 12-7 wmt multicast logging Field Descriptions
Field
|
Descriptions
|
c-ip
|
IP address of the client computer. A client that is not connected properly provides a client proxy server IP address, not the client IP address.
|
date
|
Date (according to Greenwich mean time) when an entry is generated in the log file.
|
time
|
Time (according to Greenwich mean time) when an entry is generated in the log file.
|
c-dns
|
DNS name of the client computer.
|
cs-uri-stem
|
Name of the file that is playing, an .asf file for a unicast and an .asx file for a multicast.
|
c-startime
|
Time stamp (in seconds) of the stream when an entry is generated in the log file.
|
x-duration
|
Length of time a client played content before a client event (fast forward (FF), rewind (REW), pause, stop, or jump to marker). A log entry is generated whenever one of these client events occurs.
|
c-rate
|
Mode of Windows Media Player when the last command event was sent.
• 1 = Windows Media Player was paused or stopped during a play, fast-forward, rewind, or marker jump operation.
• -5 = Windows Media Player was rewound from a play, stop, or pause operation.
• 5 = Windows Media Player was fast-forwarded from a play, stop, or pause operation.
|
c-status
|
Codes that describe client status. Mapped to HTTP/1.1 and RTSP client status codes described in Request for Comments (RFC) 2068 and RFC 2326. Windows Media Services includes the extensible client status codes 480 (simultaneous client connections exceeded the maximum client limit of the server) and 483 (stream exceeded maximum file bit rate limit of the server).
|
c-playerid
|
Globally unique identifier (GUID) of the player.
|
c-playerversion
|
Version number of the player.
|
c-playerlanguage
|
Language country code of the client computer.
|
cs(User-Agent)
|
Browser type used if Windows Media player was embedded in a browser.
|
cs(Referer)
|
URL of the web page in which Windows Media Player was embedded (if it was embedded).
|
c-hostexe
|
Host application; for example, a web page in a browser (iexplore.exe), a Microsoft Visual Basic applet (vb.exe), or standalone Microsoft Windows Media Player (mplayer2.exe).
|
c-hostexever
|
Host application version number.
|
c-os
|
Operating system of the client computer.
|
c-osversion
|
Operating system version number of the client computer.
|
c-cpu
|
CPU type of the client computer.
|
filelength
|
Length of the file (in seconds). This value is 0 for a live stream.
|
filesize
|
Size of the file (in bytes). This value is 0 for a live stream.
|
avgbandwidth
|
Average bandwidth (in bits per second) at which the client was connected to the server.
|
protocol
|
Protocol used to access the stream: MMS, HTTP, or ASFM (multicast protocol).
|
transport
|
Transport protocol used to deliver the stream (UDP, TCP, or UDP over IP multicast).
|
audiocodec
|
Audio codec used in the stream.
|
videocodec
|
Video codec used to encode the stream.
|
channelURL
|
URL to the .nsc file. A unicast client information log file records a dash (-) for this field.
|
sc-bytes
|
Bytes sent by the server to the client.
|
c-bytes
|
Number of bytes received by the client from the server. For unicast, the c-bytes value and sc-bytes value must be identical. If not, packet loss has occurred.
|
s-pkts-sent
|
Total number of packets sent by the server.
|
c-pkts-received
|
Number of packets from the server (s-pkts-send) that are received correctly by the client on the first try.
|
c-pkts-lost-client
|
Number of packets lost during transmission from server to client and not recovered at the client layer through error correction or at the network layer through User Datagram Protocol (UDP) resends.
|
c-pkts-lost-net
|
Number of packets lost on the network layer.
|
c-pkts-lost-cont-net
|
Maximum number of continuously lost packets on the network layer during transmission from server to client.
|
c-resendreqs
|
Number of client requests to receive new packets. This field contains a value only if the client is using UDP resend.
|
c-pkts-recovered-ECC
|
Number of packets repaired and recovered on the client layer. Packets repaired and recovered at the client layer are equal to the difference between c-pkts-lost-net and c-pkts-lost-client.
|
c-pkts-recovered-resent
|
Number of packets recovered because they were resent using UDP.
|
c-buffercount
|
Number of times the client buffered while playing the stream.
|
c-totalbuffertime
|
Time (in seconds) the client used to buffer the stream. If the client buffers the stream more than once before a log entry is generated, c-totalbuffertime is the total amount of time the client spent buffering the stream.
|
c-quality
|
The percentage of packets that were received by the client, indicating the quality of the stream.
If cPacketsRendered is all packets received by the client, including packets recovered by error correction and UDP resend (c-pkts-received + c-pkts-recovered-ECC + c-pkts-recovered-resent), then c-quality can be calculated as: [cPacketsRendered / (cPacketsRendered + c-pkts-lost-client)] * 100.
|
s-ip
|
Server IP address.
|
s-dns
|
Server DNS.
|
s-totalclients
|
Clients connected to the server (but not necessarily receiving streams).
|
s-cpu-util
|
Average load on the server processor as a percentage (0-100%). If multiple processors exist, this value is the average for all processors.
|
CE-action
|
Action performed by the Content Engine.
|
CE-bytes
|
Number of bytes received by the Content Engine.
|
Username
|
Username required to access the streaming media retrieved by the WMT player.
|
Configuring Unicast-In Multicast-Out
The Content Engine supports several different sources for a unicast-in multicast-out stream, otherwise known as stream splitting. A unicast input can be from a video-on-demand (VOD) publishing point, a live unicast publishing point, an encoder, or a streaming media source from a local disk. The ASF header obtained from the unicast input and the parameters used to configure the multicast station are used by the Content Engine to automatically create the multicast description.nsc file. The clients use this easily accessible file to subscribe to the multicast.
Tip
If a live stream is interrupted on the server side, you must stop the multicast station and then restart the same station to resume live multicasting. Use the wmt multicast-station stop name command in EXEC mode to stop this station. Use the wmt multicast-station start name command in EXEC mode to restart the same station.
To enable WMT multicasting for unicast-in multicast-out on a locally deployed Content Engine, follow these steps:
Step 1
Configure a multicast station on the Content Engine in global configuration mode with the wmt multicast station-configuration command:
ContentEngine(config)# wmt multicast station-configuration test1 233.33.33.33 3333
mms://172.16.30.31/source.asf play-forever
In this example a multicast station named test1 is configured and used by the Content Engine as the multicast source file. Its Class D IP address is 233.33.33.33, and the multicast port is 3333. The play-forever option is used. When the input source.asf file is a VOD file, this option automatically restarts play back of the file from the beginning of the source.asf file once the end of this file has been reached.
Note
This source file source.asf can be located on any Windows WMT server.
Step 2
Start the multicast using the wmt multicast-station command in EXEC mode.
ContentEngine# wmt multicast-station start test1
Step 3
Open your WMT player and choose File > Open URL.
Step 4
Enter the following URL:
http://CEIPaddress/test1.nsc
Step 5
Click OK.
The WMT player should retrieve the multicast description .nsc file and join the multicast station that is specified in Step 1.
Note
The use of port 80 is implied in the URL for WMT multicasting. An equivalent URL is http://CEIPaddress:80/test1.nsc.
Configuring Multicast-In Multicast-Out
In this multicasting scenario, a description file *.nsc is created that is accessible through multicast-out to clients. This is similar to the unicast-in multicast-out scenario except that the input source is multicast. The clients use this description file to subscribe to the multicast.
To enable WMT multicasting for multicast-in multicast-out on a locally deployed Content Engine, follow these steps:
Step 1
Configure a multicast station on the Content Engine in global configuration mode with the wmt multicast station-configuration command:
ContentEngine(config)# wmt multicast station-configuration test2 233.33.33.34 6667
mms://172.16.30.31/source.nsc
In this example, a multicast station named test2 is configured and used by the Content Engine as the multicast source file. Its Class D IP address is 233.33.33.34, and the multicast port is 6667. The multicast stream stops playing once the end of the source.nsc file has been reached, unless the play-forever option is used.
Step 2
Start the multicast with the wmt multicast-station start command in EXEC mode.
ContentEngine# wmt multicast-station start test2
Step 3
Open your WMT player and choose File > Open URL.
Step 4
Enter the following URL:
http://CEIPaddress/test2.nsc
Step 5
Click OK.
The WMT player should receive the MMS media source specified in Step 1.
Configuring Multicast-In Unicast-Out
In this scenario, a unicast-out publishing point is created to deliver the incoming stream live to requesting clients.
To enable WMT multicasting for multicast-in unicast-out on a locally deployed Content Engine, follow these steps:
Step 1
Configure a broadcasting alias on the Content Engine in global configuration mode with the wmt broadcast command:
ContentEngine(config)# wmt broadcast alias-name myunicast source
http://172.16.30.31/station.nsc
In this step a unicast publishing point with the alias name myunicast is configured with a multicast source station.nsc file. This source is a server sending out WMT multicast streams. The source of an alias in the format http://server/file.nsc signals the Content Engine to treat this source as a multicast input source.
Step 2
Open your WMT player and choose File > Open URL.
Step 3
Enter the following URL:
mms://CEIPaddress/myunicast
Step 4
Click OK.
The WMT player should receive the MMS media source specified in Step 1. Note that in this scenario an MMS URL is used to access the streaming media, and that only the alias name is specified instead of the *.nsc files in the multicast-out scenarios.
This converts the multicast stream to unicast and sends it to the requesting client.
Configuring Unicast-In Unicast-Out
In this scenario, unicast-in unicast-out provides a point-to-point connection between the client and the Content Engine. The Content Engine in turn makes a single connection to the media server. Multiple requests for the same stream can be split by the Content Engine so that each client receives a distinct data stream directly from the Content Engine, while the Content Engine maintains its single stream connection to the media server. The client can request a stream that contains either stored or live content.
The advantage of unicasting when streaming media over a network is that only a single stream needs to be pulled over the network between the origin server and Content Engine, but that stream can be delivered to multiple clients in a nonmulticast environment. A server running Windows Media Services can provide a unicast video stream to multiple clients through a single stream delivered to the Content Engine. Those clients can take advantage of the VCR-like controls in the Windows Media Player to pause the stream or to skip backward or forward (in the case of stored content [video on demand]).
There are two ways to configure unicast-in unicast-out:
•
By live splitting without any configuration. In this case, the Content Engine acts as a proxy. When clients request the same unicast URL, the Content Engine proxy automatically splits the stream from the source to the clients.
•
By configuring the Content Engine with a broadcast alias. In this case, a client makes the request to the Content Engine as if it were the Windows Media Server, and the Content Engine checks to see whether the incoming stream is present. If it is, then the Content Engine joins the stream and splits it to the new client. If the request is the first client request for this stream, the Content Engine sends the request out to the server and then serves it to the new client.
To enable WMT services for unicast-in unicast-out on a locally deployed Content Engine, follow these steps:
Step 1
From the Content Engine GUI, choose Caching > WMT-Streaming. The WMT Streaming window appears.
Step 2
Click WMT Config. The WMT Configurations page opens.
Step 3
Click the Broadcast Unicast Publishing link. The WMT Broadcast Unicast Publishing window appears.
Step 4
In the Alias Name field, enter a broadcast alias for the live broadcast configuration (for example, broadcast1).
Step 5
In the Source field, enter the broadcast source for the live broadcast configuration. using the following format:
<protocol>://server-name:port-num/path/file-name
where:
•
protocol is either MMS or HTTP
•
path is the full path name
•
port-num is the port number. The default is port 1755.
•
file-name is a media filename if the file is in the content root directory.
For example:
mms://wms.company.com/cotv
where wms.company.com is the name of the Windows Media Server, and cotv is the name used when the broadcast alias is created. The MMS protocol is used to retrieve the stream.
Step 6
Click Update to save the settings.
Step 7
Open your WMT player and choose File > Open URL. Enter the following URL:
mms://CEIPaddress/broadcast1
where
•
CEIP address is the IP address or domain name of the Content Engine.
•
broadcast1 is the broadcast alias specified in Step 4.
Step 8
Click OK.
The WMT player should receive the MMS media source specified in Step 5. Note that in this scenario, an MMS URL is used to access the streaming media, and that only the broadcast alias (for example, broadcast1) is specified instead of the *.nsc files in the multicast-out scenarios. This converts the multicast stream to unicast and sends it to the requesting client.
Removing the WMT License Key
The no wmt license-key global configuration command can be used to uninstall the WMT license key if it is no longer needed on the device because the WMT licensed product feature is not needed. After a license key is uninstalled on one device, it can be used on another device if that device supports the WMT license key.
Note
The WMT feature must be disabled using the no wmt enable command prior to uninstalling the WMT license key on a locally deployed Content Engine.