MRA-Troubleshooting
MRA-Troubleshooting
AnyConnect VPN
Unified CM &
applications
Expressway
Firewall Traversal
What can a Jabber client do with Expressway?
Access visual
voicemail
Launch a web
conference
Share content
Search corporate
directory
Software Requirements
6
ExpressWay Configuration
Main configuration steps
1. System configuration
2. Firewall configuration
3. Certificate configuration and deployment
4. Traversal zone configuration
5. UC server discovery
6. DNS and domain configuration/deployment
Configuration System configuration
ExpressWay C ExpressWay E
Firewall Configuration
To which ports does this translate?
Port usage: ExpressWay C to Expressway E
DMZ
IM&P Internet
CUCM-UDS ExpressWay C ExpressWay E
ExpressWay C ExpressWay E
Source Port Listening Port
TCP & TLSA = Configurable TCP Outbound ports range
Management Control Inbound and outbound calls
TCP & TLSB = Configurable traversal port for traversal link
Open Firewall Private to DMZ
between Control and Expressway (i.e. 7001, 7002, etc.)
IP Address
IP address of IP address of Ue = Configurable TCP ephemeral port range
- ExpressWay C - ExpressWay E
SSH TCP Ue
TCP 2222 YE = Configurable traversal media ports range (on
(HTTP/S tunnels) 30000 to 35999 *
IP Ports
Expressway/E)
TCP & TLSA TCP & TLSB
SIP signaling
25000 to 29999 7001
* Default ephemeral ports range (X8.1) for is 30000 – 35999
SIP media
UDP YC UDP YE which configurable
36000 to 59999 ** 36000 to 59999 **
IP address of IP address of
IP Address
- ExpressWay C - ExpressWay E
TCP Ue
XMPP (IM and Presence) TCP 7400
30000 to 35999 *
SSH TCP Ue
TCP 2222
(HTTP/S tunnels) 30000 to 35999 *
UDP YC UDP YE
SIP media
36000 to 59999 ** 36000 to 59999 **
Firewall Configuration
Where to configure these ports?
IP address of IP address of
IP Address
- ExpressWay C - ExpressWay E
TCP Ue
XMPP (IM and Presence) TCP 7400
30000 to 35999 *
SSH TCP Ue
TCP 2222
(HTTP/S tunnels) 30000 to 35999 *
UDP YC UDP YE
SIP media
36000 to 59999 ** 36000 to 59999 **
Firewall Configuration
Where to configure these ports?
IP address of IP address of
IP Address
- ExpressWay C - ExpressWay E
TCP Ue
XMPP (IM and Presence) TCP 7400
30000 to 35999 *
SSH TCP Ue
TCP 2222
(HTTP/S tunnels) 30000 to 35999 *
UDP YC UDP YE
SIP media
36000 to 59999 ** 36000 to 59999 **
Firewall Configuration
Where to configure these ports?
IP address of IP address of
IP Address
- ExpressWay C - ExpressWay E
TCP Ue
XMPP (IM and Presence) TCP 7400
30000 to 35999 *
SSH TCP Ue
TCP 2222
(HTTP/S tunnels) 30000 to 35999 *
UDP YC UDP YE
SIP media
36000 to 59999 ** 36000 to 59999 **
Firewall Configuration
To which ports does this translate?
Port usage: Expressway E to/from Public Internet
DMZ
IM&P Internet
CUCM-UDS ExpressWay C Expressway E
XMPP (IM and Presence) N/A N/A S = Source port, typically >=1024
UDS
N/A N/A
YE = Configurable traversal media ports range (on
(Provisioning and Phonebook)
Expressway/E)
IP Ports
UDP YE UDP N
Media
36000 to 59999 ** >= 1024
Firewall Configuration
To which ports does this translate?
Port usage: Expressway E to/from Public Internet
DMZ
IM&P Internet
CUCM-UDS ExpressWay C ExpressWay E
Expressway C Internet SIP UA
Listening Port Source Port
UDP S
TURN Server Control UDP 3478
>= 1024 ** Default media ports range (X8.1) is 36000 – 59999 which
TLS S configurable
SIP signaling TLS 5061
>= 1024
UDP YE UDP N
Media
36000 to 59999 ** >= 1024
Firewall Configuration
To which ports does this translate?
Port usage: ExpressWay C to Unified CM and IM&P
DMZ
IM&P Internet
CUCM-UDS ExpressWay C ExpressWay E
FWB FWA
IM&P .1 .1 .1
CUCM-UDS ExpressWay C ExpressWay E
FWB FWA
IM&P .1 .1 .1
CUCM-UDS ExpressWay C ExpressWay E
The hostname or IP address of an HTTP server that a Jabber client located outside of
the enterprise is allowed to access.
Access is granted if the server portion of the client-supplied URI matches the name
entered here, or if it resolves via DNS lookup to an IP address specified here.
Certificates
Certificates
Maintenance > Security Certificate > Server Certificate
Certificates
CA Signed
- Must be CA signed
- Used with ExpressWay E for traversal zone connection
- Used with CUCM when endpoint security mode is Authenticated
or Encrypted (TLS transport used)
- CA Root must be appended to “Trusted CA certificate” on both
ExpressWay’s
- CA Root must be uploaded to Callmanager-trust store on every node
in the cluster
ExpressWay C – Certificate Requirements
CA Root not uploaded on ExpressWay E
Traversal Zone State Failed
SAN must include ‘Chat node alias’ from IM&P server (CUP)
CA Signed
- Must be CA signed
- Used with ExpressWay C for traversal zone connection
- CA Root must be appended to “Trusted CA certificate” on both
ExpressWay’s
ExpressWay E – Certificate Requirements
CA root not uploaded to ExpressWay C
Traversal Zone State
If this issue occurs, the customer should use the Certificate Signing Request (CSR) tool on Expressway, which automatically includes the FQDN of Expressway
as a Subject Alternative Name (SAN).
The Chat Node Aliases configured on the IM&P servers. This is required if you perform Extensible Messaging and Presence Protocol (XMPP) federation.
Expressway-C should automatically include these in the CSR provided that an IM&P server has already been discovered on Expressway-C.
The names in FQDN format of all Phone Security Profiles in CUCM configured for TLS and used on devices configured for MRA. This allows for secure
communication between the CUCM and Expressway-C for the devices that use those Phone Security Profiles.
All domains configured for Unified Communications. This includes the domain of Expressway-E and C, email address domain configured for Jabber, and any
Presence domains.
The Chat Node Aliases configured on the IM&P servers. This is required if you perform XMPP federation.
Traversal Zone Setup
Traversal Zone Setup
Firewall Traversal
Expressway-E is traversal server in DMZ
Expressway-C is traversal client inside the network
Establish traversal link between both using traversal zone configuration
CUCM
Internet
Expressway-C Expressway-E Endpoint B
Traversal Client Traversal Server Traversal Link Management
Signal
Media Payload
Endpoint A
Traversal Zone Setup
ExpressWay E – Traversal Server
- Must be FQDN
- Must be DNS resolvable
Traversal Zone Setup
Peer Address not matching CN
Scenario 1
- CUCM set to none-secure
expwayC.domain1.com cucm.domain1.com
expwayC.domain1.com cucm.domain1.com
expwayC.domain1.com cucm.domain1.com
expwayC.edge1.com colcm9pub.coluc.com
How to solve?
1) Use FQDN for server configuration on CCMADMIN
Here colcm9pub.coluc.com
and colcm9sub1.coluc.com
ExpressWay Mobile and Remote Access – Scenario 1
CUCM Server Discovery
No DNS query is required as IP
address is used.
Will always show Active
ExpressWay – Mobile and Remote Access
UC Server discovery
Scenario 2
- CUCM set to secure (mixed-mode)
For a Jabber client to be able to log in successfully with MRA, a specific collaboration edge SRV record must be created
and accessible externally. When a Jabber client is initially started, it makes DNS SRV queries:
_cisco-uds: This SRV record is used in order to determine if a CUCM server is available.
_cuplogin: This SRV record is used in order to determine if an IM&P server is available.
If the Jabber client is started and does not receive an SRV answer for _cisco-uds and
_cuplogin and does receive an answer for _collab-edge, then it uses this answer to try to
contact the Expressway-E listed in the SRV answer.
The _collab-edge SRV record should point to the Fully Qualified Domain Name (FQDN) of
Expressway-E with port 8443. If the _collab-edge SRV is not created, or is not externally
available, or if it is available, but port 8443 is not reachable, then the Jabber client fails to log in.
ExpressWay Mobile and Remote Access
Domain & DNS configuration
Scenario
- Flat domain structure
- ExpressWay Servers : domain1.com
- UC servers : domain1.com
- IM&P domain : domain1.com
Jabber Client External DNS Expressway E Expressway C Internal DNS CUCM Home UDS IM&P Server
Jabber Client External DNS Expressway E Expressway C Internal DNS CUCM Home UDS IM&P Server
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home UDS IM&P Server
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home UDS IM&P Server
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home UDS IM&P Server
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home UDS IM&P Server
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home UDS IM&P Server
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home UDS IM&P Server
85
ExpressWay C “Unified Communications” status
Status > Unified Communications
ExpressWay C “Unified Communications” status
> Maintenance > Tools > Network Utilities > DNS Lookup (for internal DNS)
(When using dual NIC will take TCPdump on internal interface, when
required from external need to SSH into ExpressWay (root) and run e.g
“tcpdump -s 0 –w -i eth1 /tmp/trace-1.pcap” and use wincp to transfer)
Jabber Registration
Walk Through
99
Jabber pre-requirements
</Policies>
<RemoteAccess>ON</RemoteAccess>
</Policies>
For local testing purposes, user can set the RemoteAccess configuration key
on their device editing jabberLocalConfig.xml (J4Win)
<Jabber>
<userConfig name="remoteaccess" value="ON"/>
</Jabber>
A good way to verify that the basic MRA components are in place is to run the first
HTTP request Jabber would do.
To do this verification, open a browser and enter the following URL to verify that the
HTTP Reverse proxy is working, and that the ExpressWay-C can discover the DNS.
https://xwaye.coluc.com:8443/Y29sdWMuY29tL2h0dHAvY29sY205cHViLzY5NzA=/ge
t_edge_config
Use a CUCM User credentials when prompted by the browser
Use http://www.base64decode.org/ to encode/decode
Jabber URL Transform
Expressway E certificate not trusted (Jabber client will prompt same)
Jabber URL Transform
Service Config
Jabber URL Transform
Edge Configuration
Common Issue 1
Softphone is Not Able to Register, SIP/2.0 405 Method Not Allowed
A diagnostic log from Expressway-C shows a SIP/2.0 405 Method Not Allowed message in response to the Registration request sent by the Jabber client. This is likely due to an existing Session Initiation Protocol (SIP) trunk
between Expressway-C and CUCM using port 5060/5061.
In order to correct this issue, change the SIP port on the SIP Trunk Security Profile that is applied to the existing SIP trunk configured in CUCM and the Expressway-C neighbor zone for CUCM to a different port such as 5065.
This is explained further in the MRA Deployment Guide on Page 39.
Configuration Summary
CUCM:
1.Create a new SIP Trunk security profile with a listening port other than 5060 (5065).
2.Create a SIP Trunk associated to the SIP Trunk Security Profile and destination set to the Expressway-C IP address, port 5060.
Expressway-C:
1.Create a neighbor zone to CUCM(s) with a target port other than 5060 (5065) to match the CUCM configuration.
2.In Expressway-C Settings > Protocols > SIP, make sure Expressway-C still listens on 5060 for SIP.
Common Issue 2
Unable to Log In Because of an Existing WebEx Connect Subscription
Workaround:
2014-11-22 19:55:39,122 INFO [0x00002808] [very\WebexCasLookupDirectorImpl.cpp(134)]
[service-discovery] [WebexCasLookupDirectorImpl::makeCasLookupWhenNetworkIs In the short-term, you can utilize one of these two options to exclude it from the lookup.
Available] - makeCasLookupForDomain result is 'Code: IS_WEBEX_CUSTOMER; Server:
http://loginp.webexconnect.com; •Add this parameter to the jabber-config.xml. Then upload the jabber-config.xml file to the TFTP
Url: http://loginp.webexconnect.com/cas/FederatedSSO?org=example.com';;;.2014-11-22 server on CUCM. It requires that the client logs in internally first.
19:55:39,122 INFO [0x00002808] [overy\WebexCasLookupDirectorImpl.cpp(67)]
[service-discovery] [WebexCasLookupDirectorImpl::determineIsWebexCustomer] - <?xml version="1.0" encoding="utf-8"?>
Discovered Webex Result from server. Returning server result.2014-11-22 19:55:39,122 <config version="1.0">
DEBUG [0x00002808] [ery\WebexCasLookupUrlConfigImpl.cpp(102)] <Policies>
[service-discovery] [WebexCasLookupUrlConfigImpl::setLastCasUrl] - setting last_cas_ <ServiceDiscoveryExcludedServices>WEBEX<
lookup_url : http://loginp.webexconnect.com/cas/FederatedSSO?org=example.com2014-11-22 /ServiceDiscoveryExcludedServices>
19:55:39,123 DEBUG [0x00002808] [pters\config\ConfigStoreManager.cpp(286)] </Policies>
[ConfigStoreManager] [ConfigStoreManager::storeValue] - key : [last_cas_lookup_url] </config>
value : [http://loginp.webexconnect.com/cas/FederatedSSO?org=example.com]2014-11-22
19:55:39,123 DEBUG [0x00002808] [common\processing\TaskDispatcher.cpp(29)]
[TaskDispatcher] [Processing::TaskDispatcher::enqueue] - Enqueue ConfigStore::persist •From an application perspective, run this: msiexec.exe /i CiscoJabberSetup.msi /quiet
Values - Queue Size: 02014-11-22 19:55:39,123 DEBUG [0x00002808] [pters\config\ConfigStore CLEAR=1 AUTHENTICATOR=CUP EXCLUDED_SERVICES=WEBEX
Manager.cpp(140)]
[ConfigStoreManager] [ConfigStoreManager::getValue] - key : [last_cas_lookup_url]
skipLocal : [0] value: [http://loginp.webexconnect.com/cas/FederatedSSO?org=example.com]
success: [true] configStoreName: [LocalFileConfigStore]
For a permanent resolution, you must contact WebEx in order to have the site decommissioned.
Jabber Registration – Walk Trough
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
DNS Query
SRV _cisco-uds._tcp.coluc.com
Query Response
Not Found
DNS Query
SRV _cuplogin._tcp.coluc.com
Query Response
Not Found
Jabber Registration – Walk Trough
• Register Jabber client on UCM via MRA
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
DNS Query
SRV _collab-edge._tls.coluc.com
Query Response
DNS Query
A xwaye.coluc.com
Query Response
Jabber Client External DNS VCS Expressway VCS Control Internal DNS CUCM Home TFTP IM&P
UDS Server Server
HTTPS
HTTPS
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
When DNS record is not cached ExpressWay C will send out following DNS queries
DNS Query
SRV _cisco-uds._tcp.coluc.com
Query Response
(Target: colcm9pub.coluc.com)
SRV _cisco-phone-tftp._tcp.coluc.com
Query Response
(Target: colcm9pub.coluc.com)
DNS Query
A colcm9pub.coluc.com
Query Response
(Addr: 172.16.1.36
Mobile and Remote Access
- Jabber client connect through MRA
• Register Jabber client on UCM via MRA
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
DNS Query
SRV _cuplogin._tcp.coluc.com
Query Response
(Target: colcup.coluc.com)
DNS Query
A colcup.coluc.com
Query Response
(Addr: 172.16.1.33)
Jabber Registration – Walk Trough
Jabber Client External DNS Expressway E Expressway C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
HTTP(S)
HTTP(S) 200 OK
HTTPMSG:
HTTP/1.1 200 OK
Content-Type: application/xml
Server:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><clusterUser uri="https://colcm9pub:8443/cucm-
uds/clusterUser?username=xwayj" version="9.1.2"><result version="9.1.2" uri="https://172.16.1.36:8443/cucm-
Should see “Found user cluster” and “Found UDS server” internal status log this point in diagnostic log uds/user/xwayj" found="true"/><homeCluster>172.16.1.36</homeCluster></clusterUser>
===========================================================
Module="developer.edgeconfigprovisioning.server" Level="DEBUG"
CodeLocation="edgeconfigprovisioningserver(655)" Detail="Found user cluster" Username=xwayj"
Cluster="172.16.1.36“
Module="developer.edgeconfigprovisioning.server" Level="DEBUG"
CodeLocation="edgeconfigprovisioningserver(682)" Detail="Found UDS server" Cluster="172.16.1.36"
UdsServer="colcm9pub“
===========================================================
Jabber Registration – Walk Trough
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
HTTP(S)
HTTP(S) 200 OK
HTTPMSG:
HTTP/1.1 200 OK
Set-Cookie: JSESSIONIDSSO=xxxxx, Path=/; Secure; HttpOnly
Set-Cookie: JSESSIONID=xxxxx; Path=/cucm-uds/; Secure; HttpOnly
Content-Type: application/xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><devices version="9.1.2" uri="https://colcm9pub:8443/cucm-
uds/user/xwayj/devices"><device hasPrimaryNumber="false" uri="https://colcm9pub:8443/cucm-
uds/user/xwayj/device/663e40ed-b3bd-3060-5483-b6721d04c32e"><id>663e40ed-b3bd-3060-5483-
b6721d04c32e</id><name>CSFxwayj</name><model>Cisco Unified Client Services Framework</model> …..
</device></devices> |
Jabber Registration – Walk Trough
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
HTTPS 200 OK
HTTPMSG:
Returned configuration: HTTP/1.1 200 OK
1) IMP, CUCM, TFTP SRV Server: CE_C ECS
2) SIP edge Set-Cookie: X-Auth=<edge token>; Expires=xxxxx; Domain=.coluc.com; Path=/; Secure
<?xml version='1.0' encoding='UTF-8'?> <getEdgeConfigResponse version="1.0"><serviceConfig><service><name>_cisco-
3) Randomized list of UDS phone-
4) XMPP edge tftp</name><server><priority>0</priority><weight>0</weight><port>69</port><address>colcm9pub.coluc.com</address></
5) HTTP edge server></service><service><name>_cuplogin</name><server><priority>0</priority><weight>0</weight><port>8443</port>
<address>imp33.coluc.com</address></server> ….. </edgeConfig></getEdgeConfigResponse>|
etc.
HTTPS 200 OK
HTTPMSG:
HTTP/1.1 200 OK
Server: CE_C ECS
Set-Cookie: X-Auth=<edge token>; Expires=xxxxx; Domain=.coluc.com; Path=/; Secure
<?xml version='1.0' encoding='UTF-8'?> <getEdgeConfigResponse version="1.0"><serviceConfig><service><name>_cisco-
phone-
tftp</name><server><priority>0</priority><weight>0</weight><port>69</port><address>colcm9pub.coluc.com</address></
server></service><service><name>_cuplogin</name><server><priority>0</priority><weight>0</weight><port>8443</port>
<address>imp33.coluc.com</address></server> ….. </edgeConfig></getEdgeConfigResponse>|
Jabber Registration – Walk Trough
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
HTTPS
….
Jabber Registration – Walk Trough
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
HTTPS
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
SIP - REFER
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
SIP - REFER
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
SIP - REFER
SIP - REFER
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
SIP
202 Accepted
SIP - REGISTER
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
SIP - REGISTER
Jabber Client External DNS Expressway E ExpressWay C Internal DNS CUCM Home TFTP IM&P
UDS Server Server
SIP - REGISTER
SIP - REGISTER
SIP
100 Trying
References
126
References
Base64 encode/decode
http://www.base64decode.org/
New Endpoint Support
Collaboration Internet
Services