Cisco Wireless and Sonos players

Cisco Wireless and Sonos players

Cisco Wireless and Sonos players

Cisco Wireless Controller and various consumer range products does not work well together just out of the box, and the Sonos Sound System is no exception to that statement. The following describe the configurations needed to make Sonos and various other things like Chromecast work on a Cisco WLC solution.

Background

Sonos among other solutions utilizes the Simple Service Discovery Protocol (SSDP) to discover devices on the network. SSDP uses the site-local multicast address 239.255.255.250 and UDP/1900 for IPv4. The Sonos controller software discovers the Sonos players by joining the multicast group 239.255.255.250 thus the network needs to support and forward multicast. This is different to Apple AirPlay which uses mDNS/Bonjour for advertisement of available services, hence multicast forwarding is not needed in that case.

Reference setup

As of this writing, my network topology is as follows

Cisco Catalyst 3560CG as the L3 device for the LAN network, a HP J9562A Switch 2915-8G-PoE that connects to the Wireless Access Points, Cisco AIR-2702i-E-K9 access points and a WLC2504 controller. The WLC has management and Dynamic AP Management on VLAN 30, the WAP is located on VLAN 100, Wired clients on VLAN 10 and wireless clients on VLAN 11.

WLC is running 8.2.130.0 software

The goal is to make both wired and wireless devices (Sonos players and Sonos controllers) work flawless. In order to make this happen, full end-to-end multicast routing and forwarding between the wired and wireless network is needed. The needed configuration is shown in the following sections

 

Configuration of Multicast for Sonos

WLC setup

Set the AP Multicast mode and group in the Controller –> General tab. Enter a valid Multicast group that is not used in the current network – i.e. 239.1.1.1. For the WLC2504 only Multicast mode is available, but on higher end controllers unicast is also available if desired (the WLC unicasts the multicast packets to every WAP joined to the controller – useful when native multicast between controller and APs is not possible).


Next, enable global multicast mode and IGMP snooping in the Controller –> Multicast tab

Make sure P2P Blocking is disabled on the SSID intended for Sonos, as the devices need direct communication on the wireless network.

 

Switch/L3 setup

For multicast to work, we need an IGMP Querier on every segment/vlan that needs to identify IGMP Group, and we need multicast routing between the vlans.
Enable multicast routing
Globally enable mcast routing on the devices


ip multicast-routing distributed

Next, enable mcast routing on the SVI (switched virtual interface/Vlan interfaces)


interface Vlan10
ip pim passive
!
interface Vlan11
ip pim passive
!
interface Vlan30
ip pim passive
!
interface Vlan100
ip pim passive
!

The command “ip pim passive” enables PIM (Protocol Independent Multicast) on the interface. This has 2 purposes in this case – first it makes the device be a candidate for IGMP Querier and second it enables multicast routing on the interface. We need an IGMP Querier to manage the multicast tree on the different interfaces (in this case vlans) and we need multicast routing on the interface to make multicast connectivity end-to-end.

Next we need to configure a rendezvous point address (RP-address) for PIM to work in sparse mode. I my network the only L3 device running multicast is my 3560, so the RP-address is just pointing to a local loopback address.

ip pim rp-address 10.1.0.1

 

Downstream L2 switch

Since my access points are connected to a downstream Layer 2 switch, I would verify it runs IGMP to contain the multicast to the ports and devices wanting the traffic. IGMP Snooping is enabled by default on Cisco switches, but this is not the case for my HP 2915-8G-PoE.
To enable IGMP snooping on the HP ProCurve switch, the following commands are entered


vlan 100
ip igmp auto [PORTS]

Verification

Following are some verifications steps to ensure proper functionallity.

L3 Switch

View multicast routing table

 

Show which ports have joined which groups

IGMP Group memberships and last reporter for the group

Notice the 239.255.255.250 is the SSDP group address for Sonos (and other devices) to discover each other, and the 239.1.1.1 is the group for WLC to AP multicast traffic. AP to WLC multicast is unicasted through the CAPWAP tunnel.

HP Layer 2 switch

Show the IGMP status of particular VLAN

WLC

Show Layer 3 Multicast groups

 

 

That’s about it… Enjoy… 🙂