Introduction
This configuration example describes how to configure VideoStream (also known as MediaStream or Multicast-Direct) on a Catalyst 9800 Series Wireless Controllers (9800 WLC) through the Graphic User Interface (GUI).
Prerequisites
Requirements
Cisco recommends that you have knowledge of these topics:
- 9800 WLC configuration guide
- Multicast on a WLC
Components Used
The information in this document is based on these software and hardware versions:
- Catalyst 9800 Series Wireless Controllers, IOS-XE version 16.11.1b
- Aironet 3700 Series Access Points
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any configuration.
Configure
Network Diagram
This example is based on local mode APs centrally switching traffic. FlexConnect local switching is supported but the flow would differ there as the multicast does not go through the WLC, the AP is the one doing most of the work.
Traffic Flow
- The client (multicast receiver) connects to Service Set Identifier (SSID): videoStream
- The client sends IGMP join packet to request the video on IP address 239.15.16.17
- WLC creates L3 MGID and forwards IGMP join to the wired network
- The router will start forwarding traffic from the multicast source (10.88.173.135) to the WLC, multicast routing is needed between VLAN 210 and VLAN 2631
- WLC knows a wireless client is asking for this traffic, via MGID, and encapsulates the traffic to send it to the AP using IP address 239.1.2.3 - AP multicast group
- AP receives the packet and unicasts the multicast traffic to the wireless client
Configure Multicast
Navigate to: Configuration > Services > Multicast
Run the next command to verify the CLI configuration.
9800-40-1#sh run all | sec wireless multicast|igmp snooping
.
.
ip igmp snooping querier
ip igmp snooping
.
.
wireless multicast
wireless multicast 239.1.2.3
For this example, multicast mode is used. In this mode WLC only sends one packet to the configured multicast group (in this case 239.1.2.3) so only Access Points (AP) interested in this traffic can listen to it. For more information on what modes can be configured, review this 9800 Series Wireless Controller Software Configuration Guide.
Note: It is needed to enable IGMP Snooping globally and on a per VLAN basis so WLC can snoop on wireless client's IGMP messages.
IGMP Snooping Querier helps to update the WLC table. It is helpful to verify if any client exists for a particular multicast group.
Apply changes.
Media Stream Configuration
Step 1. Enable Media Stream globally: Configuration > Wireless > Media Stream > Tab "General"
Step 2. Define media stream: Configuration > Wireless > Media Stream > Tab "Streams"
Step 3. Enter the stream information as shown on the image:
Run the next command to verify the CLI configuration.
9800-40-1#sh run | sec media
.
wireless media-stream group movie 239.15.16.17 239.15.16.17
max-bandwidth 5000
wireless media-stream multicast-direct
.
.
Stream Information
- Name: use any string to reference to your multicast traffic
- Multicast Destination Start/End: defines a multicast group range that clients can access to stream the video. In this case, only one IP address is used.
- Maximum Expected bandwidth: video bandwidth and it is configured in Kbps. Range goes from 0 to 35000 Kbps
Radio Reservation Control (RRC)
It is a decision algorithm used by WLC and AP to assess whether AP holds enough resources to support the new request for the video stream.
- Average packet size: range from 0 to 1500 bytes
- Policy: select admit so in case RRC accepts the stream request, video can be streamed.
- Priority: select the QoS Up marking for over the air packets
- QoS: select queue where video packages are placed when transmitted by the AP.
- Violation: In case RRC declines the request stream can be dropped or fallback to the best effort queue.
Configure Band Media Stream
For this example, the media stream is configured for the 5GHz band, the same steps apply for the 2.4GHz band.
Step 1. Disable 5 Ghz band: Configuration > Radio Configurations > Network > Tab 5 Ghz Band
Step 2. Configure band media parameters: Configuration > Radio Configurations > Media Parameters >Tab 5 Ghz Band
Run the next command to verify the CLI configuration.
9800-40-1#sh run all | i 5ghz media|cac media
.
.
ap dot11 5ghz cac media-stream acm
ap dot11 5ghz cac media-stream max-bandwidth 80
ap dot11 5ghz cac media-stream multicast-direct max-retry-percent 80
ap dot11 5ghz cac media-stream multicast-direct min-client-rate 6
ap dot11 5ghz media-stream multicast-direct
ap dot11 5ghz media-stream multicast-direct admission-besteffort
ap dot11 5ghz media-stream multicast-direct client-maximum 0
ap dot11 5ghz media-stream multicast-direct radio-maximum 0
ap dot11 5ghz media-stream video-redirect
Note: Media Stream Admission Control and Best Effort QoS Admission are optional configurations
General
- Unicast Video Redirect: allows unicast video flow to wireless clients.
Multicast Direct Admission Control
- Media Stream Admission Control - we enable CAC for media = voice + video.
Media Stream - Multicast Direct Parameters
- Multicast Direct Enable: you must enable this checkbox
- Max stream per Radio: limits the number of video streams allowed on an AP radio, in this case, 5Ghz radio.
- Max stream per Client: limits the number of video streams permitted for each wireless client.
- Best Effort QoS Admission: allows to fallback video traffic to the best-effort queue.
Step 3. Enable 5 Ghz band: Configuration > Radio Configurations > Network >Tab 5 Ghz Band
Configure Client VLAN
Create VLAN used for clients and enable IGMP Snooping. Navigate to Configuration > Layer 2 > VLAN
Run the next command to verify the CLI configuration.
9800-40-1#sh run | sec 2631
vlan 2631
name rafa-mgmt
WLAN Configuration
For this example, an open authentication SSID is used, broadcasted only on the 5GHz band. Follow the next steps.
Navigate to: Configuration > Tags & Profiles > WLANs > Click on Add
Run the next command to verify the CLI configuration.
9800-40-1#sh run | sec videoStream
wlan videoStream 4 videoStream
media-stream multicast-direct
radio dot11a
no security wpa
no security wpa akm dot1x
no security wpa wpa2 ciphers aes
no shutdown
Policy Profile Configuration
Step 1. Create a Policy Profile. Configuration > Tag & Profiles > Policy
Step 2. Map VLAN to the Policy profile
Run the next command to verify the CLI configuration.
9800-40-1#sh run | sec PP-stream
wireless profile policy PP-stream
vlan rafa-mgmt
no shutdown
Create Policy TAG
Map WLAN to Policy Profile, navigate to Configuration > Tag & Profiles > Tags
Run the next command to verify the CLI configuration.
9800-40-1#sh run | sec PT-mcast
wireless tag policy PT-mcast
wlan videoStream policy PP-mcast
policy-tag PT-mcast
Apply Policy Tag to AP
Navigate to Configuration > Wireless > Access Point > click on the AP
Run the next command to verify the configuration.
9800-40-1#show ap tag summary
Number of APs: 2
AP Name AP Mac Site Tag Name Policy Tag Name RF Tag Name
-------------------------------------------------------------------------------
AP-3702i-Rafi f07f.06e2.7db4 default-site-tag PT-mcast default-rf-tag
At this point, you can see the SSID broadcasted and you can connect the wireless client to receive the video stream.
Verify
Commands to Review the Configuration
9800-40-1#show wireless media-stream multicast-direct state
Multicast-direct State........................... : enabled
Allowed WLANs:
WLAN-Name WLAN-ID
----------------------------------------------------------
emcast 3
videoStream 4
9800-40-1#show wireless media-stream group summary
Number of Groups:: 1
Stream Name Start IP End IP Status
-----------------------------------------------------------------------------------------------------------------
movie 239.15.16.17 239.15.16.17 Enabled
9800-40-1#show wireless media-stream group detail movie
Media Stream Name : movie
Start IP Address : 239.15.16.17
End IP Address : 239.15.16.17
RRC Parameters:
Avg Packet Size(Bytes) : 1200
Expected Bandwidth(Kbps) : 5000
Policy : Admitted
RRC re-evaluation : Initial
QoS : video
Status : Multicast-direct
Usage Priority : 4
Violation : Drop
9800-40-1#show ap dot11 5ghz media-stream rrc
Multicast-direct : Enabled
Best Effort : Enabled
Video Re-Direct : Enabled
Max Allowed Streams Per Radio : Auto
Max Allowed Streams Per Client : Auto
Max Media-Stream Bandwidth : 80
Max Voice Bandwidth : 75
Max Media Bandwidth : 85
Min PHY Rate (Kbps) : 6000
Max Retry Percentage : 80
Commands to Verify Client's Video Stream
To verify clients connection: Monitoring > Wireless > Clients
9800-40-1#show wireless client summary
Number of Local Clients: 1
MAC Address AP Name Type ID State Protocol Method Role
-------------------------------------------------------------------------------------------------------------------------
886b.6e25.1e40 AP-3700i-Rafi WLAN 4 Run 11ac None Local
In order to have more detail
9800-40-1#show wireless client mac-address aaaa.bbbb.cccc detail
To verify IGMP Join message is received from the client and WLC created the MGID correctly, navigate to Monitor > General > Multicast > Layer 3Above shows, the client has requested traffic for multicast group 239.15.16.17 on VLAN 2631.
To verify WLC video streams with the configured options. Monitor > General > Multicast > Media Stream Clients
9800-40-1#show wireless multicast group 239.15.16.17 vlan 2631
Group : 239.15.16.17
Vlan : 2631
MGID : 4160
Client List
-------------
Client MAC Client IP Status
---------------------------------------------------------------
886b.6e25.1e40 172.16.30.64 MC2UC_ALLOWED
Troubleshoot
In order to troubleshoot the problem, you can use the next traces.
set platform software trace wncd chassis active R0 multicast-api debug
set platform software trace wncd chassis active R0 multicast-config debug
set platform software trace wncd chassis active R0 multicast-db debug
set platform software trace wncd chassis active R0 multicast-ipc debug
set platform software trace wncd chassis active R0 multicast-main debug
set platform software trace wncd chassis active R0 multicast-rrc debug
You can verify with the next command if traces were activated correctly.
9800# show platform software trace level wncd chassis active R0 | i Debug
multicast-api Debug
multicast-config Debug
multicast-db Debug
multicast-ipc Debug
multicast-main Debug
multicast-rrc Debug
Now, reproduce the problem
- connect the wireless client
- request video (multicast traffic)
- wait for the problem to occur
- collect the logs
In order to collect the logs. Execute run the next command.
9800#show logging process wncd internal to-file bootflash:<file-name>.log
Displaying logs from the last 0 days, 0 hours, 10 minutes, 0 seconds
executing cmd on chassis 1 ...
Files being merged in the background, result will be in bootflash:mcast-1.log log file.
Collecting files on current[1] chassis.
# of files collected = 1
btrace decoder: [1] number of files, [40999] number of messages
will be processed. Use CTRL+SHIFT+6 to break.
2019-11-28 20:25:50.189 - btrace decoder processed 7%
2019-11-28 20:25:50.227 - btrace decoder processed 12%
2019-11-28 20:25:50.263 - btrace decoder processed 17%
2019-11-28 20:25:50.306 - btrace decoder processed 24%
2019-11-28 20:25:50.334 - btrace decoder processed 29%
2019-11-28 20:25:50.360 - btrace decoder processed 34%
2019-11-28 20:25:50.388 - btrace decoder processed 39%
2019-11-28 20:25:50.430 - btrace decoder processed 46%
2019-11-28 20:25:50.457 - btrace decoder processed 51%
2019-11-28 20:25:50.484 - btrace decoder processed 56%
2019-11-28 20:25:50.536 - btrace decoder processed 63%
2019-11-28 20:25:50.569 - btrace decoder processed 68%
2019-11-28 20:25:50.586 - btrace decoder processed 73%
2019-11-28 20:25:50.587 - btrace decoder processed 78%
2019-11-28 20:25:50.601 - btrace decoder processed 85%
2019-11-28 20:25:50.607 - btrace decoder processed 90%
2019-11-28 20:25:50.619 - btrace decoder processed 95%
2019-11-28 20:25:50.750 - btrace decoder processed 100%
9800#
Open the log file
9800#more bootflash:<file-name.log>
Video stream allowed in AP/WLC
IGMP request from wireless client
2019/11/28 20:18:54.867 {wncd_x_R0-0}{1}: [multicast-ipc] [19375]: (debug): IOSD IGMP/MLD has sent the WNCD_INFORM_CLIENT with
capwap id = 0x90000006
num_entry = 1
2019/11/28 20:18:54.867 {wncd_x_R0-0}{1}: [multicast-ipc] [19375]: (debug): Source IP Address 0.0.0.0
2019/11/28 20:18:54.867 {wncd_x_R0-0}{1}: [multicast-ipc] [19375]: (debug): Group IP Address 17.16.15.239
2019/11/28 20:18:54.867 {wncd_x_R0-0}{1}: [multicast-ipc] [19375]: (debug): Client IP Address 71.30.16.172
2019/11/28 20:18:54.867 {wncd_x_R0-0}{1}: [multicast-ipc] [19375]: (debug): index = 0:
source = 0.0.0.0
group = 17.16.15.239 . >>> 239.15.16.17 multicast group for video
client_ip = 71.30.16.172 >>> 172.16.30.71 client ip address
client_MAC = a4f1.e858.950a
vlan = 2631, mgid = 4160 add = 1
.....
MGID table updated with client mac address
2019/11/28 20:18:54.867 {wncd_x_R0-0}{1}: [multicast-db] [19375]: (debug): Child table records for MGID 4160 are
2019/11/28 20:18:54.867 {wncd_x_R0-0}{1}: [multicast-db] [19375]: (debug): Client MAC: a4f1.e858.950a
....
Starting RRC algoithm to assess whether AP has enough resources or not
2019/11/28 20:18:54.867 {wncd_x_R0-0}{1}: [multicast-rrc] [19375]: (debug): Submiting RRC request
2019/11/28 20:18:54.869 {wncd_x_R0-0}{1}: [multicast-rrc] [19375]: (debug): Video Stream Admitted: passed all the checks
2019/11/28 20:18:54.869 {wncd_x_R0-0}{1}: [multicast-rrc] [19375]: (debug): Approve Admission on radio f07f.06ec.6b40 request 3664 vlan 2631 dest_ip 17.16.15.239 decision 1 qos 4 admit_best 1
.....
WLC matching requested group to the ones defined on WLC
2019/11/28 20:18:54.869 {wncd_x_R0-0}{1}: [multicast-db] [19375]: (debug): Matching video-stream group found Start IP: 17.16.15.239, End IP: 17.16.15.239 that contains the target group IP address 17.16.15.239
.....
Adding client to multicast direct
2019/11/28 20:18:54.869 {wncd_x_R0-0}{1}: [multicast-db] [19375]: (debug): Add rrc Stream Record for dest 17.16.15.239, client a4f1.e858.950a
Video stream not allowed in AP/WLC, therefore, AP sends multicast traffic on the best-effort queue.
In this case, the wireless client is allowed to do video streaming but AP has not enough resources to allow traffic with video QoS, therefore AP moves the client to the best-effort queue. See the next image
From debugs
Starting RRC algoithm to assess whether AP has enough resources or not
.....
2019/11/28 17:47:40.601 {wncd_x_R0-0}{1}: [multicast-rrc] [19375]: (debug): Submiting RRC request
2019/11/28 17:47:40.603 {wncd_x_R0-0}{1}: [multicast-rrc] [19375]: (debug): RRC Video BW Check Failed: Insufficient Video BW for AP
2019/11/28 17:47:40.603 {wncd_x_R0-0}{1}: [multicast-rrc] [19375]: (debug): Video Stream Rejected. Bandwdith constraint......
2019/11/28 17:47:40.603 {wncd_x_R0-0}{1}: [multicast-rrc] [19375]: (debug): Approve Admission on radio f07f.06ec.6b40 request 3626 vlan 2631 dest_ip 17.16.15.239 decision 0 qos 0 admit_best 1
....