This guide will go through the steps to setup Lync Remote Call Control (RCC) with Cisco CallManager Express (CME). I’ve used this with OCS, Lync 2010 and Lync 2013. CME must be version 8.0 or higher.
CME
On the router enter the commands that are not already present:
voice service voip
allow-connections sip to sip
no supplementary-service sip moved-temporarily
no supplementary-service sip refer
no cti shutdown
cti csta mode basic
And then on the ephone-dns that you are remote call controlling add the following:
cti watch
LYNC
Step 1
On Lync we first need to create a static route to the CME. First let’s check existing static routing config:
Get-CsStaticRoutingConfiguration
OPTIONAL – If you want to view the details that Get-CsStaticRoutingConfiguration won’t show, use this two-step process:
- $stroute = Get-CsStaticRoutingConfiguration
- $stroute.Route
If there’s nothing that conflicts then create the static route with this two-step process:
- $tcpRoute = New-CsStaticRoute -TCPRoute -Destination “CME IP OR FQDN” -Port 5060 -MatchUri “cme.domain.com”
- Set-CsStaticRoutingConfiguration -Route @{Add=$tcpRoute}
Step 2
Next create an application pool. First check the existing application pools:
Get-CSTrustedApplicationPool
If all looks well, create the pool:
New-CsTrustedApplicationpool -Identity “CME IP OR FQDN” -Registrar “LYNC FQDN” -Site “LYNC SITE NAME”
Step 3
Next configure the application. First check the existing applications to make sure there’s not an overlap:
Get-CSTrustedApplication
Then create the application:
New-CsTrustedApplication -ApplicationID RCC -TrustedApplicationPoolFqdn “CME IP OR FQDN” -Port 5060 -EnableTcp
You might receive a warning that UCMA applications only support MTLS. Choose “Yes”
Step 4
Check to see which TCP port Lync is listening on. In Lync 2013 the default is 5061 but CME needs this to be 5060.
Get-CsService -Registrar
If it’s not using 5060 then change it:
Set-CsRegistrar “registrar:LYNC FQDN” -SipServerTcpPort 5060
Step 5
Lastly in the Lync control panel update the user account telephony option to “Remote Call Control” and then enter the following parameters:
Line URI: tel:EXTENSION-NUMBER;phone-context=dialstring
Line Server URI: sip:EXTENSION-NUMBER@CME_IP_OR_FQDN
As an example:
tel:200;phone-context=dialstring
sip:200@cme.domain.com
Now close the Lync client and reopen. You should now be able to initiate a phone call from Lync and you should see your Lync status change when you’re on the phone.
Have Lync and CME configured as SIP trunks on port 5060. Now when I follow you guide i get the error below, what are my options?
New-CsTrustedApplication -ApplicationID RCC -TrustedApplicationPoolFqdn 10.0.1.1 -Port 5060 -EnableTcp
New-CsTrustedApplication : PortNumber “5060” with Range “0” and UrlPath “/”
causes a port sharing conflict for IP Address “0.0.0.0” on Machine “10.0.1.1”
for these service ports.
At line:1 char:1
+ New-CsTrustedApplication -ApplicationID RCC -TrustedApplicationPoolFqdn
10.0.1.1 …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
+ CategoryInfo : InvalidData: ([0] ServiceId “….Tcp.Primary”
:SourceCollection) [New-CsTrustedApplication], Exception
+ FullyQualifiedErrorId : PortConflictsOnCluster,Microsoft.Rtc.Management.
Xds.NewOcsTrustedApplicationCmdlet
New-CsTrustedApplication : “1” error categories reported in topology document.
At line:1 char:1
+ New-CsTrustedApplication -ApplicationID RCC -TrustedApplicationPoolFqdn
10.0.1.1 …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
+ CategoryInfo : NotSpecified: (:) [New-CsTrustedApplication], Fo
rmatException
+ FullyQualifiedErrorId : System.FormatException,Microsoft.Rtc.Management.
Xds.NewOcsTrustedApplicationCmdlet
@Martin
Is the IP you are entering for the TrustedApplicationPoolFqdn parameter the IP of CME or the IP of your Lync server? It should be the IP of CME. If it is the IP of CME then you possibly have that IP already in use with an existing trusted application – run Get-CSTrustedApplication to verify this. Good luck!
We have our CUCME connected to Lync 2013 using Dial peers and PSTN gateways.
Before implementing this option a couple of questions…
Do we have to removed the PSTN Gateways that are listing on 5060? – If so does then then break out ability to call into Lync/Conference server via dial peers?
For the -MatchUri “cme.domain.com” is that same as the DNS entry we created for our CME system? ie. cme-demo.domain.com
Will this Set-CsRegistrar “registrar:LYNC FQDN“ -SipServerTcpPort 5060 have any affect on our SIP federating with MS Skype?
Is anyone still there to answer this thread? I’m trying to get this working and I’m having a bit of trouble.