Document ID: 115945
Updated: Mar 13, 2013
Contributed by Nicholas Carrieri, William Ryan Bennett, and Walter Lopez, Cisco TAC Engineers.
This document describes how to configure IP phones over a Secure Sockets Layer VPN (SSLVPN), also known as a WebVPN. Two Cisco Unified Communications Managers (CallManagers) and three types of certificates are used with this solution. The CallManagers are:
Cisco Unified Communications Manager (CUCM)
Cisco Unified Communications Manager Express (Cisco Unified CME)
The certificate types are:
Third-party certificates, such as Entrust, Thawte, and GoDaddy
Cisco IOS®/Adaptive Security Appliance (ASA) certificate authority (CA)
The key concept to understand is that, once the configuration on the SSLVPN gateway and CallManager are completed, you must join the IP phones locally. This enables the phones to join the CUCM and to use the correct VPN information and certificates. If the phones are not joined locally, they cannot find the SSLVPN gateway and do not have the correct certificates to complete the SSLVPN handshake.
The most common configurations are CUCM/Unified CME with ASA self-signed certificates and Cisco IOS self-signed certificates. Consequently, they are the easiest to configure.
Ensure that you meet these requirements before you attempt this configuration:
ASA Premium license.
AnyConnect VPN Phone license.
For ASA Release 8.0.x, the license is AnyConnect for Linksys Phone.
For ASA Release 8.2.x or later, the license is AnyConnect for Cisco VPN Phone.
SSLVPN Gateway: ASA 8.0 or later (with an AnyConnect for Cisco VPN Phone License), or Cisco IOS 12.4T or later.
Cisco IOS 12.4T or later is not formally supported as documented in the SSL VPN Configuration Guide.
In Cisco IOS Release 15.0(1)M, the SSLVPN gateway is a seat-counted licensing feature on the Cisco 880, Cisco 890, Cisco 1900, Cisco 2900, and Cisco 3900 platforms. A valid license is required for a successful SSLVPN session.
CallManager: CUCM 8.0.1 or later, or Unified CME 8.5 or later.
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.
Refer to the Cisco Technical Tips Conventions for more information on document conventions.
In this section, you are presented with the information to configure the features described in this document.
The basic ASA SSLVPN configuration is described in these documents:
Once this configuration is complete, a remote test PC should be able to connect to the SSLVPN gateway, connect via AnyConnect, and ping the CUCM. Ensure the ASA has an AnyConnect for Cisco IP phone license (the show ver command). Both TCP and UDP port 443 must be open between the gateway and the client.
Caution: IP phones are designated as not supported in IOS SSLVPN; configurations are in best effort only.
The basic Cisco IOS SSLVPN configuration is described in these documents:
Once this configuration is complete, a remote test PC should be able to connect to the SSLVPN gateway, connect via AnyConnect, and ping the CUCM. In Cisco IOS 15.0 and later, you must have a valid SSLVPN license to complete this task. Both TCP and UDP port 443 must be open between the gateway and the client.
See IP Phone SSL VPN to ASA using AnyConnect for more detailed information.
The ASA must have a license for AnyConnect for Cisco VPN Phone. After you configure the SSLVPN, you then configure your CUCM for the VPN.
Use this command in order to export the self-signed certificate from the ASA:
ciscoasa(config)# crypto ca export trustpoint name identity-certificate
This command displays a pem encoded identity certificate to the terminal.
Copy and paste the certificate to a text editor, and save it as a .pem file. Be sure to include the BEGIN CERTIFICATE and END CERTIFICATE lines or the certificate will not import correctly. Do not modify the format of the certificate because this will problems when the phone tries to authenticate to the ASA.
Navigate to Cisco Unified Operating System Administration > Security > Certificate Management > Upload Certificate/Certificate Chain in order to load the certificate file to the CERTIFICATE MANAGEMENT section of the CUCM.
Download the CallManager.pem, CAPF.pem, and Cisco_Manufacturing_CA.pem certificates from the same area used to load the self-signed certificates from the ASA (see Step 1), and save them to your desktop.
For example, in order to import the CallManager.pem to the ASA, use these commands:
ciscoasa(config)# crypto ca trustpoint certificate-name
ciscoasa(config-ca-trustpoint)# enrollment terminal
ciscoasa(config)# crypto ca authenticate certificate-name
When you are prompted to copy and paste the corresponding certificate for the trustpoint, open the file you saved from the CUCM, then copy and paste the Base64-encoded certificate. Be sure to include the BEGIN CERTIFICATE and END CERTIFICATE lines (with hyphens).
Type end, then press Return.
When prompted to accept the certificate, type yes, then press Enter.
Repeat steps a to d for the other two certificates (CAPF.pem, Cisco_Manufacturing_CA.pem) from the CUCM.
Configure the CUCM for the correct VPN configurations, as described in CUCM IPphone VPN config.pdf.
Load-balanced SSLVPN is not supported for VPN phones.
Note: The VPN gateway configured on the CUCM must match the URL that is configured on the VPN gateway. If the gateway and URL do not match, the phone cannot resolve the address, and you will not see any debugs on the VPN gateway.
On the CUCM: The VPN gateway URL is https://192.168.1.1/VPNPhone
On the ASA, use these commands:
ciscoasa# configure terminal
ciscoasa(config)# tunnel-group VPNPhones webvpn-attributes
ciscoasa(config-tunnel-webvpn)# group-url https://192.168.1.1/VPNPhone enable
You can use these commands on the Adaptive Security Device Manager (ASDM) or under the connection profile.
This configuration is very similar to the configuration described in CUCM: ASA SSLVPN with Self-Signed Certificates Configuration section, except that you are using third-party certificates. Configure SSLVPN on the ASA with third-party certificates as described in ASA 8.x Manually Install 3rd Party Vendor Certificates for use with WebVPN Configuration Example.
Note: You must copy the full certificate chain from the ASA to the CUCM and include all intermediate and root certificates. If the CUCM does not include the full chain, the phones do not have the necessary certificates to authenticate and will fail the SSLVPN handshake.
This configuration is similar to the configuration described in CUCM: ASA SSLVPN with Third-Party Certificates Configuration and CUCM: ASA SSLVPN with Self-Signed Certificates Configuration sections. The differences are:
Use this command in order to export the self-signed certificate from the router:
R1(config)# crypto pki export trustpoint-name pem terminal
Use these commands in order to import the CUCM certificates:
R1(config)# crypto pki trustpoint certificate-name
R1(config-ca-trustpoint)# enrollment terminal
R1(config)# crypto ca authenticate certificate-name
The WebVPN context configuration should show this text:
gateway webvpn_gateway domain VPNPhone
Configure the CUCM as described in CUCM: ASA SSLVPN with Self-Signed Certificates Configuration section.
This configuration is similar to the configuration described in CUCM: ASA SSLVPN with Self-Signed Certificates Configuration section. Configure your WebVPN with a third-party certificate.
Note: You must copy the full WebVPN certificate chain to the CUCM and include all intermediate and root certificates. If the CUCM does not include the full chain, the phones do not have the necessary certificates to authenticate and will fail the SSLVPN handshake.
Configuration for the Unified CME is similar to the configurations of the CUCM; for example, the WebVPN endpoint configurations are the same. The only significant difference is the configurations of the Unified CME call agent. Configure the VPN group and the VPN policy for the Unified CME as described in Configuring SSL VPN Client for SCCP IP Phones.
Note: Unified CME supports only Skinny Call Control Protocol (SCCP) and does not support Session Initiation Protocol (SIP) for VPN phones.
Note: There is no need to export the certificates from the Unified CME to the ASA or router. You only need to export the certificates from the ASA or router WebVPN gateway to the Unified CME.
In order to export the certificates from the WebVPN gateway, refer to the ASA/router section. If you are using a third-party certificate, you must include the full certificate chain. In order to import the certificates to the Unified CME, use the same method as used to import certificates into a router:
CME(config)# crypto pki trustpoint certificate-name
CME(config-ca-trustpoint)# enrollment terminal
CME(config)# crypto ca authenticate certificate-name
The Cisco Unified Communications 500 Series Model UC 520 IP phone is quite different from the CUCM and CME configurations.
Since the UC 520 IP phone is both the CallManager and the WebVPN gateway, there is no need to configure certificates between the two.
Configure the WebVPN on a router as you normally would with self-signed certificates or third-party certificates.
The UC 520 IP phone has a built in WebVPN client, and you can configure it just as you would a normal PC to connect to WebVPN. Enter the gateway, then the username/password combination.
The UC 520 IP phone is compatible with the Cisco Small Business IP Phone SPA 525G phones.
The Cisco Support Community is a forum for you to ask and answer questions, share suggestions, and collaborate with your peers.
Refer to Cisco Technical Tips Conventions for information on conventions used in this document.