CMS Web Proxy Deployment Guide - X12 6
CMS Web Proxy Deployment Guide - X12 6
Meeting Server
Deployment Guide
First Published: December 2016
Last Updated: November 2020
Expressway X12.6
Preface
Preface
Change History
Table 1 Deployment Guide Change History
March 2021 Removed the limitation about using 443 on Exp for TURN. Documentation
defect
November Added steps on how to apply a server certificate to the Meeting Server. Documentation
2020 defect
July 2020 Removed obsolete limitation that Expressway-E cannot listen on TCP 443 for both Documentation
signaling and TCP TURN from the Meeting Server Web Proxy. defect
February Clarify Web Proxy for Meeting Server Configuration Summary section to include Documentation
2020 requirement for another forward lookup zone (if no split DNS). defect
May 2018 Updated the limitation on usage of port 8443 for web administration. Clarify to use Documentation
private address of the internal NIC if two NICs are used on the Expressway-E. defect
November New document dedicated to Web Proxy for Cisco Meeting Server Information
2017 improved for
X8.10
December First release of information, in shared document Cisco Expressway Options with New feature in
2016 Cisco Meeting Server and/or Microsoft Infrastructure X8.9
Related Documents
■ For installing Expressway:
— Cisco Expressway Virtual Machine Installation Guide on the Expressway installation guides page.
— Cisco VCS Virtual Machine Installation Guide on the VCS installation guides page.
— Cisco Expressway CE1100 Appliance Installation Guide on the Expressway installation guides page.
— Cisco Video Communication Server CE1100 Appliance Installation Guide on the VCS installation guides
page.
■ Cisco Meeting Server installation guides page
■ Cisco Meeting Server configuration guides page
■ Expressway Administrator Guide
VCS Administrator Guide
2
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
Preface
3
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
Contents
Contents
Preface 2
Change History 2
Related Documents 2
Contents 4
Introduction 5
Scope and Purpose 5
Terminology and Example Values 5
Configure Meeting Server Web Proxy 7
Deployment Map 7
Technical Overview of Web Proxy for Meeting Server 8
Prerequisites 10
Web Proxy for Meeting Server Configuration Summary 10
Create Unified Communications Zones 12
Which TURN Server To Use? 13
Configure Meeting Server to Use Expressway-E for TURN Services 14
Configure Meeting Server Web Proxy on Expressway-C 16
Configure Meeting Server Web Proxy on Expressway-E 16
Change Expressway-E Administration Port 17
Web Proxy for Meeting Server Media Flows 17
DNS Records 20
Cisco Legal Information 22
Cisco Trademark 22
4
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
Introduction
Introduction
This Expressway guide also now applies to VCS. Any VCS-specific information is noted where necessary in the
guide. (Older VCS guides on Cisco.com are still valid for the VCS versions they apply to—as specified on the title page
of each guide.)
The Meeting Server Web Proxy enables external users to join or administer Meeting Server spaces using their
browser. All the external user needs is the URL to the space and their credentials for accessing the Meeting Server.
Expressway cannot currently traverse calls from other variants of Cisco Meeting App when they are outside the
network. This functionality can be provided by using the Meeting Server Load Balancer and TURN server
components.
See Deploying the Trunk and the Load Balancer and Configuring TURN Servers in the Meeting Server deployment
guides, on the Cisco Meeting Server configuration guides page.
Capacities
The following capacities are applicable for the Cisco Meeting Server web app via an Expressway X12.6 system acting
as a Web Proxy and deployed as a Large VM, to Meeting Server 2.9 with Web Bridge 3:
Note: If you have a cluster of Expressway servers, then depending on the number of peers, the per-peer capacity can
be multiplied by up to 4 (the limit of the Expressway redundancy model), giving a maximum of 800 HD or 600 fHD CMS
web app sessions per cluster of Large Expressway systems. Capacities assume that media uses UDP.
■ Web Proxy for Meeting Server: A reverse https proxy on the Expressway traversal pair used only for a specified
address.
■ Guest account client URI: A name that you enter on the Expressway-C to represent the Web Bridge listening
interfaces on the Cisco Meeting Server. It corresponds to the Guest account client URI on the Meeting Server
web bridge settings. We use the example value join.ciscoexample.com.
■ Outbound and Inbound: Generally, calls initiated from inside your organization's network to another
organization or remote user are Outbound. Calls initiated from outside your organization's network, to users or
spaces in your network, are Inbound.
We also use these terms in the specific context of particular systems. In these cases, you can infer the call
direction from the text and supporting diagrams.
5
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
Introduction
— Cisco Meeting WebRTC App: A thin client that runs in a browser to connect to spaces. Also called "web
app", "thin client", "web client", "WebRTC app".
— Cisco Meeting App (Windows): A thick client that runs on Microsoft Windows (out of scope for this
document).
— Cisco Meeting App (iOS): A thick client that runs on Apple iOS (out of scope for this document).
— Cisco Meeting App (OS X): A thick client that runs on Apple OS X (out of scope for this document).
6
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
Deployment Map
Note: See separate diagrams showing Web Proxy for Meeting Server Media Flows, page 17 later in this document.
7
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
■ Jabber Guest
■ Microsoft interoperability service (as controlled by the Microsoft Interoperability key on Expressway; this
means the "Gateway Expressway" deployment and/or the "SIP Broker" deployment)
Split DNS?
If you have split DNS in your environment, then we recommend using different A records for the web bridge internally
and externally. Browsers outside your network will need to resolve the Expressway-E's public address when looking
up the domain of the Guest account client URI eg. join.ciscoexample.com domain, but browsers inside your network
should resolve the listening interface of the Meeting Server web bridge instead.
If you can't split the DNS, you'll need to configure your firewall to allow browsers inside the network to resolve and
reach the public address of the Expressway-E.
See DNS Records, page 20
Server Certificates
The Expressway-E certificate must list the Guest account client URI as a SAN.
Limitations
■ We do not currently support traversal of Cisco Meeting App (XMPP) calls across the Expressway pair to the
Meeting Server.
If Cisco Meeting WebRTC App users attempt to use unsupported browsers, they will be redirected to
download the Cisco Meeting App, which will not work without installing the loadbalancer component on Cisco
Meeting Server Edge. We recommend using the Cisco Meeting WebRTC App with a supported browser.
8
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
■ Partial support for clustered Meeting Server web bridges: Load balancing is supported but redundancy is not.
Expressway-C uses round-robin to distribute WebRTC App signaling traffic to multiple Meeting Servers, based
on its DNS lookup of the Guest account client URI. However, the Expressway-C does not currently adapt if
any of the returned web bridge addresses are unreachable.
■ The Web Proxy listens to the internet on TCP port 443 on the Expressway-E. This port is not configurable and
overlaps with the default web administration port.
The same port can be used for both purposes, and we distinguish the traffic destined for Meeting Server, but
we strongly recommend that you change your web administrator access port on the Expressway-E. This
means that you can prevent access to the web interface from the internet, while still allowing guest access to
spaces.
TCP 443 is also a desirable listening port for TCP TURN requests originating from restricted networks. See
Which TURN Server To Use?, page 13.
■ Expressway cannot currently proxy to web bridges that have IPv6 addresses.
9
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
Prerequisites
Software Versions
■ Expressway X8.9.2 or later (X8.10 or later recommended)
■ Cisco Meeting Server 2.1.2 or later
■ Meeting Server web bridge 2.1.4 or later is the minimum target for Expressway's Web Proxy for Meeting Server
a. When join.example.com is set as a Guest account client URI and record 'A' exists for join.example.com,
then the status of the Cisco Meeting Server will be shown as 'failed', if join.example.com does not appear
in the Web Bridge certificate.
b. When join.example.com is set as a Guest account client URI and the SRV record for _cms-web._
tls.join.example.com resolves to records like A, B etc, then the status of the Meeting Server node will be
shown as "failed", if the resolved record does not appear in the SAN of the corresponding Web Bridge
certificate.
3. Apply server certificates to the Expressway-C and Expressway-E.
The Guest account client URI, eg. join.ciscoexample.com, must be one of the Expressway-E certificate's
subject alternate names (SAN).
4. Create an external DNS A record for resolving the Guest account client URI to the Expressway-E's public IP
address.
For example, create the record join.ciscoexample.com to target the Expressway-E's public interface.
10
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
5. Depending on whether you can split your DNS, do one of the following:
— If you can split DNS: Create an A record on the internal DNS to resolve the Guest account client URI to the
Meeting Server Web Bridge private IP address.
You can create multiple A records if you have multiple Web Bridges sharing one Guest account client URI.
You could use an SRV record _cms-web._tls.join.ciscoexample.com. instead, if you want better control
over load distribution.
— If you cannot split DNS:
Internal browsers will resolve the Expressway-E's public address when looking up the Guest account client
URI. You may need to configure your firewall to allow these connections (outside the scope of this
document).
1. You must create another forward lookup zone for the Guest account client URI on the internal DNS
utilized by Expressway-C.
Example: if your join A record was join.ciscoexample.com this would be the forward lookup zone
created on the DNS server.
2. You must create a DNS SRV record for resolving the Guest account client URI to the FQDNs of the
Meeting Server Web Bridges.
Example: create the record _cms-web._tls.join.ciscoexample.com. to target the Meeting Server FQDN,
eg. cms[1|2|3].ciscoexample.com on port 443.
3. Also create DNS A records to resolve the Meeting Server FQDNs, eg. cms[1|2|3].ciscoexample.com to
the Meeting Server Web Bridge private IP addresses.
See DNS Records, page 20.
6. Create Unified Communications traversal zones on Expressway-C and Expressway-E. (Configuration > Zones
> Zones)
You can reuse the existing Unified Communications zones if you already have MRA .
7. Enable the TURN server on either:
11
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
12. Expressway-C: Enable the Meeting Server Web Proxy and enter the Guest account client URI.
(Configuration > Unified Communications > Cisco Meeting Server)
This corresponds with the Guest account client URI on the Meeting Server web bridge settings.
Note: If you change the DNS entries for the guest account client URI, you must click Refresh on this page. To
change the URI, edit the address field and click Save.
See Configure Meeting Server Web Proxy on Expressway-C, page 16
13. Enable MRA mode on the Expressway-E. (Configuration > Unified Communications > Configuration).
14. Change the web administration listening port on the Expressway-E. (System > Administration). This requires
a restart.
[Strongly recommended] Create a firewall rule to block access to the new administration port on the
Expressway-E public interface.
Note: The UI limits your port choices and you may wish to use a different port. If so, you can use the
CLI command xConfiguration Management Interface Port: nnnn to set the port to your chosen value. If your
Meeting Server and Expressway deployment is co-existing with MRA, you must not use port 8443 for web
administration. Also, you need to be careful not to choose a port that is already in use, because there is no
check when you run the CLI command.
When you need to administer the Expressway-E (from inside the network), you should append the new port
number to the address in the browser. If you changed the port to 7443 for example, then
https://expe.ciscoexample.com:7443 takes you to the Expressway-E login page, but
https://expe.ciscoexample.com is refused.
URL for Cisco Meeting Server Web Proxy and MRA Domain Must be Different
If you use both the Cisco Meeting Server Web Proxy service and MRA on the same Expressway, the following
configuration items must be assigned different values per service.
Note: If you try to use the same value, the service that was configured first will work, but the other one will fail:
■ MRA domain(s): The domain(s) configured on Expressway and enabled for Unified CM registration.
■ Cisco Meeting Server Web Proxy URL link: Defined in the Expressway “Guest account client URI” setting on
the Expressway > Configuration > Unified Communications > Cisco Meeting Server page.
1. On each system in the Expressway pair, go to Configuration > Zones > Zones.
2. Click New.
12
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
3. Configure the following fields (leave all other fields with their default values):
H.323 section
SIP section
TLS verify subject name Not applicable Enter the name to look for in the traversal
client's certificate. This must be in either the
Subject Common Name or the Subject
Alternative Name attributes. If you have a
cluster of traversal clients (Expressway-Cs),
specify the cluster name here and ensure that
it's included in each client certificate.
Authentication section
Location section
13
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
■ The Expressway-E has an embedded TURN server which listens on a configurable port which defaults to
3478. It listens for both TCP and UDP TURN requests on this port.
■ The configurable TURN listening port can be 443 or within 1024-65000 for Small or Medium systems.
■ A large Expressway-E listens on the range 3478-3483 (inclusive) by default.
■ The configurable range for the TURN listening ports must be in 1024-65000 for Large systems.
■ You must override the TCP TURN port that the WebRTC App uses, to 3478, if you are using Expressway-E
X8.10 as a TURN server. You must use the Meeting Server API because the setting is not exposed on the UI.
Meeting Server Edge TURN server (optional for this deployment)
■ By default, the Meeting Server TURN server listens on ports 443 and 3478. It listens for TURN requests made
using UDP or TCP.
■ You must use MMP to configure the TURN service on Meeting Server Edge.
Meeting Server call bridge and WebRTC App as TURN clients
■ You can point the Meeting Server call bridge and WebRTC App to different TURN server addresses, using the
call bridge API or the UI. (Labeled Server address and Client address). This could be to the private and public
interfaces of the Expressway-E, respectively.
■ If the Cisco Meeting WebRTC App cannot make a UDP TURN request to 3478, it connects to the configurable
TCP port number. The default is 443 if no TCP override port is configured.
■ You can override the TCP TURN port that the WebRTC App uses. You can change it to any port number (eg.
3478), but you must use the API. The setting is not exposed on the UI.
■ Other versions of Cisco Meeting App do not currently use TCP for media (only UDP).
■ The Meeting Server call bridge always requests TURN allocations from the server address on UDP 3478. It
does not fall back to TCP, and only requires TCP TURN when providing content share capabilities in Microsoft
Skype for Business interop calls (beyond scope of this document).
DNS
Publish the TURN server listening address in the external DNS. See DNS Records, page 20
14
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
TURN The Meeting Server uses this address for TURN requests. If you are using Expressway-E
Server TURN server, then it must be the private address of the Expressway-E. If you use two network
interfaces on the Expressway-E, then it must be the private address of the internal NIC.
address
(CMS) You can use an IP address or FQDN in this field.
TURN This is the address that the Cisco Meeting App and the Cisco Meeting WebRTC App use for
Server TURN requests. If using the Expressway-E TURN server, then it should be the public address
of the Expressway-E.
address
(CMA) You can use an IP address or FQDN in this field.
Username An account to represent the Meeting Server on the TURN server. You must create the
corresponding account on the TURN server.
Password A secret used to authenticate this account. You must share the secret with the
corresponding account on the TURN server.
1. Create an API access account on the Cisco Meeting Server if you don't already have one. (Use the Mainboard
Management Processor [MMP] to create a user account with type "api".)
2. Verify that your browser can connect to the Meeting Server with this account.
3. Install a browser add-on that can POST to the Meeting Server, such as Firefox Poster or Chrome Postman.
15
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
4. POST the following key-value pairs to the /turnServers node to create the entry for the Expressway-E's
TURN server:
username Specify a name. Remember the name, which you'll need to create the account
on Expressway-E
password Specify a password. Remember the password, which you'll need to create the
account on Expressway-E
type standard
tcpPortNumberOverride 3478
Note: You must configure TCP port override to 3478 if you are using
Expressway-E X8.10. The Expressway-E will not service TURN requests on the
default of TCP 443, because that port is receiving the signaling from the Cisco
Meeting WebRTC App. See Which TURN Server To Use?, page 13
5. To verify the TURN server has been created, send a GET request to the /turnServers node, eg:
https://cms1.example.com:7443/api/v1/turnServers
16
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
17
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
Figure 2 Media Flow Between External WebRTC App and Meeting Server, Single-NIC Expressway-E
18
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
Figure 3 Media Flow Between External WebRTC App and Meeting Server, Dual-NIC Expressway-E
19
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
DNS Records
DNS Records
Table 3 External DNS Configuration Summary (Assumes Split or Private DNS)
Create one
record for each
peer in the
Expressway-E
cluster (Up to 6
records).
Enable guest browsers to find A/AAAA The public address of the TURN server. Expressway-
the TURN server Corresponds with the value you entered for E public
TURN Server address (CMA) / IP address or
clientAddress in the Meeting Server Meeting Server
Edge
TURN server configuration.
TURN server.
If you can split your DNS to give different results internally, then we recommend that you create internal records for
the following purposes. These records must be resolvable by Expressway-C.
Table 4 Internal DNS Configuration Summary (Assumes Customizable Split or Private DNS)
[Optional for internal DNS] SRV _cms-web._ 443 Internal FQDN of the
Cisco Meeting Server
Resolves service requests for the tls.
web bridge, eg.
Meeting Server web bridge to join.ciscoexample.com.
cms1.ciscoexample.com.
individual Meeting Server FQDNs.
20
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
DNS Records
21
Cisco Expressway Web Proxy for Cisco Meeting Server Deployment Guide
Cisco Trademark
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other
countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks
mentioned are the property of their respective owners. The use of the word partner does not imply a partnership
relationship between Cisco and any other company. (1721R)
22