The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document describes how to troubleshoot VideoStream issues on the Cisco 5760 Series Wireless LAN Controller (WLC).
Cisco recommends that you have knowledge of these topics:
Note: Refer to the Configuring VideoStream GUI section of the VideoStream Configuration Guide Cisco IOS XE Release 3SE Cisco 3850 Series Catalyst Switch for more information about VideoStream configuration.
The information in this document is based on these software and hardware versions:
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, make sure that you understand the potential impact of any command.
This section provides an overview of the VideoStream flow through the WLC and the current limitations.
VideoStream enables the wireless architecture to deploy multicast video streaming across the enterprise to wireless clients. The current multicast video delivery mechanism has these limitations:
In order to workaround these limitations, VideoStream sends the video multicast packets as unicast packets over the air. With this process, the AP can use the individual data rate for each client. This also allows the client to acknowledge any packets that are not received.
Here is a network diagram that illustrates the VideoStream flow through the WLC:
Here are the topology details for this setup:
These steps describe the VideoStream flow:
Use the information in this section in order to troubleshoot the VideoStream flow through the WLC.
In order to verify that multicast direct is enabled on the WLC, enter this command:
5760#show wireless media-stream multicast-direct state
Multicst-direct State : Enabled
You can also use the show wireless media-stream group summary command in order to verify whether a specific multicast address is enabled:
5760#show wireless media-stream group summary
Number of Groups : 1
Stream Name Start IP End IP Status
------------------------------------------------
video_stream 239.1.1.1 239.1.1.1 Enabled
Note: You must enable mutlicast-direct globally first, and then for the Wireless LAN (WLAN) as well.
You can enable debugging on the WLC in order to verify that the RRC is negotiated correctly and that the media stream is allowed. These are the most useful debug commands that you can run:
The controller initially creates an MGID entry for the client once it sends an IGMP join message:
*May 7 22:42:23.632: %IOSXE-7-PLATFORM: 1 process wcm: mscbApMac =
dca5.f4ec.df30 client_mac_addr = 0017.7c2f.b86e slotId = 0 vapId =
2 mgid = 4161 numOfSGs = 2, rrc_status = 3 *May 7 22:42:23.632: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e mc2uc update client 0017.7c2f.b86e radio dca5.f4ec.df30
destIp 239.1.1.1 srcIp 0.0.0.0 mgid 4161 slot 0 vapId 2 vlan 12
Once complete, the WLC understands that this particular multicast IP address is configured for media-streaming and begins the RRC process:
*May 7 22:42:23.632: %IOSXE-7-PLATFORM: 1 process wcm:
msPolicyGetRrcQosSupport 1 4 4
*May 7 22:42:23.632: %IOSXE-7-PLATFORM: 1 process wcm:
msPolicyPlatform not AP 1100
*May 7 22:42:23.632: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e mc2uc qos admit 1 qos 4 pri 4
*May 7 22:42:23.632: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e mc2uc submit client client
0017.7c2f.b86eradio dca5.f4ec.df30 destIp
239.1.1.1 mgid 4161vapId 2 vlan 12
*May 7 22:42:23.632: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e FindRequestByClient not found dest
239.1.1.1 client 0017.7c2f.b86e radio dca5.f4ec.df30
source 0.0.0.0 slot 0
*May 7 22:42:23.632: %IOSXE-7-PLATFORM: 1 process wcm:
dca5.f4ec.df30 Creating request 3611 for radio
dca5.f4ec.df30
*May 7 22:42:23.632: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e Creating request 3611 for client
0017.7c2f.b86e
The WLC then sends the RRC request:
*May 7 22:42:23.632: %IOSXE-7-PLATFORM: 1 process wcm:
rrcEngineInsertAdmitRequest dest 239.1.1.1 mgid 4161
request 3611
*May 7 22:42:23.632: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e rrcEngineSendMeasureMetricsRequest sent
request 3611 to radio dca5.f4ec.df30,
minRate = 6000, maxRetryPercent = 80
Note: This output shows that the WLC specifies the metrics that are necessary for the flow.
The AP and the WLC now perform various checks before the stream is permitted. This check is performed in order to verify whether the maximum number of streams are reached:
*May 7 22:42:23.637: %IOSXE-7-PLATFORM: 1 process wcm:
rrcEngineFindRequest look for request 3611
*May 7 22:42:23.637: %IOSXE-7-PLATFORM: 1 process wcm:
rrcEngineFindRequest found request 3611
*May 7 22:42:23.638: %IOSXE-7-PLATFORM: 1 process wcm:
dca5.f4ec.df30 rrcEngineProcessRadioMetrics start
radio dca5.f4ec.df30 request 3611
*May 7 22:42:23.638: %IOSXE-7-PLATFORM: 1 process wcm:
dca5.f4ec.df30 done rrcEngineProcessRadioMetrics
radio dca5.f4ec.df30 request 3611
*May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
rrcEngineRemoveAdmitRequest request 3611
*May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
p_video = 0, p_voice = 0, pb = 476, video_qo = 0,
video_l_r_ratio = 0, video_no = 0
*May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
video_delay_hist_severe = 0, video_pkt_loss_discard =
0, video_pkt_loss_fail = 0
*May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
radio_tx_q_max_size = 1, radio_tx_q_limit = 5684,
vi_tx_q_max_size = 0, current_rate = 52
*May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
msPolicyGetStreamParameters streamName video_stream
bandwidth 1000 pakSize 1200
*May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e Admit video: number of streams on
radio is 0, number of streams on client is 0
This check is performed in order to verify whether the packet loss for the video queue has crossed the threshold:
*May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e Checking Link Stats for AP
dca5.f4ec.df30(0) : pkt_loss = 0, video_pps = 0 *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e pkt_discard = 0, num_video_streams = 0 *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e Link Stats Criteria PASSED for AP
dca5.f4ec.df30(0)
This check is performed in order to verify the bandwidth of the AP:
*May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm: 0017.7c2f.b86e Requested Video Media Time for AP
dca5.f4ec.df30(0) : cfg_stream_bw = 1000 kbps *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e current_rate = 26 Mbps, new_stream_pps
= 104 pps, video_pkt_size = 1200 bytes => req_mt
= 3354 MT *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e RRC Video BW Check for AP
dca5.f4ec.df30(0) : current chan/voice/video MT =
14875/0/0 MT *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e mt remain 16375 readmit_bias 0
current_video_mt 0 media_time_req 3354
video_mt_limit 15625
Once all of the criteria are passed, the stream is admitted. The SNMP admit trap is sent in order to inform that the media stream is permitted, which is useful in cases where the SNMP is used in order to monitor the streams that are allowed.
*May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e Video Stream Admitted: passed all
the checks *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e Mapping wme code 1 to history code 0 *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e Admit video: request 3611 radio
dca5.f4ec.df30, decision 1 admission 2 *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
mStreamBandMc2ucAdmit besteffort 1 *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e Approve Admission on radio
dca5.f4ec.df30 request 3611 vlan 12 destIp
239.1.1.1 decision 1 qos 4 admitBest 1 *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e RRC Admission: Add history record with
cause code 0 destIp 239.1.1.1 *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e Sending SNMP admit trap
The stream information is now added to the WLC database, and the Quality of Service (QoS) value is set for the video stream:
*May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
bcastRrcHandleClientStatus: group = 239.1.1.1
clientmac = 0017.7c2f.b86eapmac = dca5.f4ec.df30
vlanId = 12 status = 2 qos = 4 mgid = 4161 *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e RRC clientRecord add clientMac
0017.7c2f.b86e #of streams 1 *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e RadioInsertStreamRecord # of streams
is 1 on radio dca5.f4ec.df30 *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e Recording request 3611 destIp
239.1.1.1 qos 4 vlan 12 violation-drop 1 priority 4
sourceIp 0.0.0.0 client 0017.7c2f.b86e radio
dca5.f4ec.df30 slotId 0 *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
0017.7c2f.b86e done rrcEngineProcessClientMetrics
client 0017.7c2f.b86e radio dca5.f4ec.df30 request
3611 *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
locking mgid Tree in file bcast_process.c line 1988 *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
unlocking mgid Tree in file bcast_process.c line 2096 *May 7 22:42:23.643: %IOSXE-7-PLATFORM: 1 process wcm:
spamLradSendMgidInfo: ap = dca5.f4ec.df30 slotId = 0,
apVapId = 2, numOfMgid = 1 mc2ucflag = 1, qos = 4
The WLC forwards the IGMP join message upstream and updates the other components:
*May 7 22:42:23.645: (l2mcsn_process_report) Allocating MGID for Vlan:
12 (S,G): :239.1.1.1 *May 7 22:42:23.645: (l2mcast_wireless_alloc_mcast_mgid) Vlan: 12 Source:
0.0.0.0 Group: 239.1.1.1 *May 7 22:42:23.645: (l2mcast_wireless_alloc_mcast_mgid) Source: 0.0.0.0
Group: 239.1.1.1 Vlan: 12 Mgid: 4161 *May 7 22:42:23.645: (l2mcast_wireless_track_and_inform_client) Protocol:
IGMPSN Client-address: 10.105.132.254 (S,G,V): 0.0.0.0 239.1.1.1 12 Port:
Ca0, MGID: 4161 Add: Add *May 7 22:42:25.399: IGMP(0): Set report delay time to 0.2 seconds for
239.1.1.1 on Vlan12
Enter the show wireless multicast group summary command in order to verify the MGID entries that form:
5760#show wireless multicast group summary
IPv4 groups ------------- MGID Source Group Vlan -------------------------------------- 4160 0.0.0.0 239.1.1.1 12
In order to receive more details about the clients that are associated with a specific MGID entry, enter the show wireless multicast group group_address vlan vlan_id command:
5760#show wireless multicast group 239.1.1.1 vlan 12 Source : 0.0.0.0 Group : 239.1.1.1 Vlan : 12 MGID : 4160
Number of Active Clients : 1 Client List -------------
Client MAC Client IP Status -------------------------------------------- 0017.7c2f.b86e 10.105.132.254 MC2UC_ALLOWED
In order to verify the same information on the AP, enter the show capwap mcast mgid id 4161 command:
3602_lw# show capwap mcast mgid id 4161 rx pkts = 6996 tx packets: wlan : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 slots0 : 0 6996 0 0 0 0 0 0 0 0 0 0 0 0 0 0 slots1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 slots2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Normal Mcast Clients: Reliable Mcast Clients: Client: 0017.7c2f.b86e --- SlotId: 0 WlanId: 1 --- Qos User Priority: 4
State: ADMITTED History - Retry Pct: 6 5 13 10 Rate (500 Kbps): 116 116 116 116
Note: This output shows that the client is added to the Reliable Mcast Clients list with a QoS priority of 4.
When video quality issues are reported, you can verify this data on the AP in order to troubleshoot:
3602_lw#show controller dot11radio 0 txq
(Output clipped)
---- Active ------ In-Progress --------------- Counts ----
Cnt Quo Bas Max Cl Cnt Quo Bas Sent Discard Fail Retry Multi
Uplink 0 64 0 0 0 0 5 0 0 0 0 0
Voice 0 512 0 0 0 60 0 3350 0 2 6 0
Video 0 1024 0 0 0 0 200 50406 0 0 878 2589
Best 0 1024 0 0 0 200 0 126946 0 0 20780 5170
3602_lw#show controller dot11radio 0 client
RxPkts KBytes Dup Dec Mic TxPkts KBytes Retry RSSI SNR
0017.7c2f.b86e 99600 24688 1276 0 0 168590 157253 341 46 46
Dot11 Current Video Transmission Metrics:
Arrivals:106 Q-Drops:0 Tries:129 Agg:129 Success:106 Fail:0
Dot11 5-second Video Transmission Metrics:
Arrivals:147 Tries:195 Agg:195 Success:147 Fail:0
Radio-Q-Peak:9 Video-Q-Peak:32 Video-Q-Drops:0
Delay - Tot Msec:1392 10/20/40/40+ Msec:136/15/12/6
Dot11 1-second Video Transmission Metrics:
Q-util:71 max-tx-time:22 p-chan:483 p-video:8 L/r:18911
This section describes the process that occurs when there is insufficient bandwidth to permit a stream. The WLC verifies the stream requirement against the configured limits and denies the stream:
May 8 10:29:36.890: %IOSXE-7-PLATFORM: 1 process wcm: 0017.7c2f.b86e
RRC Video BW Check for AP dca5.f4ec.df30(0) : current
chan/voice/video MT = 16563/0/0 MT May 8 10:29:36.890: %IOSXE-7-PLATFORM: 1 process wcm: 0017.7c2f.b86e
mt remain 14687 readmit_bias 0 current_video_mt 0 media_time_req
2392 video_mt_limit 1562 May 8 10:29:36.890: %IOSXE-7-PLATFORM: 1 process wcm: 0017.7c2f.b86e
RRC Video BW Check Failed: Insufficient Video BW for AP
dca5.f4ec.df30(0) May 8 10:29:36.890: %IOSXE-7-PLATFORM: 1 process wcm: 0017.7c2f.b86e
Video Stream Rejected. Bandwidth constraint. May 8 10:29:36.890: %IOSXE-7-PLATFORM: 1 process wcm: 0017.7c2f.b86e
Mapping wme code 8 to history code 1 May 8 10:29:36.890: %IOSXE-7-PLATFORM: 1 process wcm: 0017.7c2f.b86e
Deny Admission on radio dca5.f4ec.df30 request 3633 destIp
239.1.1.1 vlan 12
Note: For test purposes, the maximum bandwidth allowed for video streaming is changed to 1,000 Kbps in this example.
Similar messages appear when the flow is denied due to any other reason, and the WLC also sends an SNMP trap:
May 19 10:29:36.890: %IOSXE-7-PLATFORM: 1 process wcm: 0017.7c2f.b86e
Sending SNMP deny trap