Lync Enterprise Voice with Cisco or Adtran routers

These are the steps to setup Lync 2013 to work with Enterprise Voice through a Cisco router running CME (CallManager Express) or an Adtran 7000 router like the NetVanta 7100. From the Lync Topology Builder open your site, Shared Components then right-click on PSTN Gateways and select New.  Enter the IP address of your router and choose next.  Click Next again.  On the last page change SIP Transport Protocol from TLS to TCP, select your mediation server if it’s not already automatically chosen and choose finish.  Publish the updated topology.                                 Next hop over to the Lync Server 2013 Control Panel.  Choose Voice Routing and then Trunk Configuration.  Edit your site configuration and scroll down to Called Number Translation Rules.  I added 2 rules, one to remove + and the other to remove 9 for outbound calls.                         Next go to Dial Plan and edit the site dial plan.  If you don’t have one create one for your Lync site.  Scroll down to Associated Normalization Rules and create a new rule.  I created a rule where the call that matched had to be at least 3 digits and I didn’t remove or add any digits.       Next go to Route and choose New.  Name your route and then add patterns to match for outbound calls and extensions on your CME or 7100 router.  I chose to add 9 followed by anything for outbound calls and then 2.., 3.. and 60. as those are all...

CME and Lync RCC Integration

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...

GoDaddy won’t issue a UCC cert for a Lync pool with a private domain name

A customer had a Lync 2010 environment with a pool name that used a private domain name and not an FQDN.  When we attempted to request a UCC certificate from GoDaddy.com from the CSR generated from the Lync Deplyment Wizard we recieved the error: You must use a fully-qualified primary domain name for UCC Certificate Request. We called GoDaddy and according to them there was no way around this.  So after attempting to generate a customized CSR with the Request-CsCertificate command without any success, we found how to manually generate a customized CSR using the certreq command. First create an INF file called cert.inf with the following content: [NewRequest] Subject = “CN=name.company.com“ Exportable = TRUE KeyLength = 2048 MachineKeySet = True FriendlyName=”Your Cert Friendly Name“ KeySpec=1 [EnhancedKeyUsageExtension] OID=1.3.6.1.5.5.7.3.1 ; Server Authentication [RequestAttributes] CertificateTemplate=WebServer SAN=”dns=meet.company.com&dns=dialin.company.com&dns=lync.company.local“ Then use the command certreq –new cert.inf cert.req If you get an error about not having a template just ignore it.  Then open the cert.req file that was created in notepad and copy the CSR and paste it into GoDaddy.  I had to manually add my alternate names on the GoDaddy page, but it went through and I was then able to successfully import the cert into Lync.  The common name was the FQDN and one of the alternate names is the private pool name in Lync.  ...