Using Lync with Multiple Direct SIP Trunks to the Same Cisco UCM Subscriber/Cluster

I have known about this configuration for a while now but not had the chance to sit down and write about it. Its also documented on TechNet but with a more generic take. There are a couple of reasons to have multiple SIP trunks between Lync to the same CUCM subscriber or cluster. These are:

  1. Remote site MTP control. For a remote site that has its own MTP resources keeping traffic local to avoid hair pinning and sending unnecessary traffic over WAN links. By creating a separate SIP trunk for a site you can control the alternate media IP for media bypass. This means that using a remote MTP doesn’t require any local Lync resources at that site. So no Mediation Server or SBA required at a remote site.
  2. Calling Search space control on the CUCM side. Each trunk can have its own CSS so adding the ability of call authorization from the CUCM platform even though calls are coming from Lync.
  3. Redundant SIP trunks with dedicated MTP resources.

The main hurdle with configuring multiple SIP trunks to the same gateway or in this case CUCM cluster is the ability to create multiple gateways with the same IP address in the Topology Builder. The simple work around to this issue is to use DNS  records that resolve to the same IP address.

Pictured below is an example configuration without any local Lync Mediation or SBA resources at the remote site. This is not an uncommon approach to interoperability where survivability isn't a requirement or dual WAN links are used as way to overcome deploying more electronics. In this case we have two SIP trunks with each having their own dedicated MTP’s. With the inclusion of Media Bypass call media will stay local with requiring any equipment at the branch. This will however require some planning on the Lync dial plan side especially if there are a great deal of remote sites.

Remtoe MTP dns issue

This configuration will still allow the use of local DID’s for the Lync site and local termination of PSTN calls at the remote site with no hair pinning over the WAN.

There are a couple of steps to getting this setup. I have outlined below what I did in my home lab:

  1. Created 2 SRV records – cucmsip1.contoso.com and cucmsip2.contoso.com and pointed it to my A record that’s pointed to my CUCM VM server.
  2. Created 2 new PSTN gateways in Lync Topology Builder called cucmsip1.contoso.com and cucmsip2.contoso.com. Also consider using different port numbers for each trunk along with configuring the alternate media IP for the MTP. Completed the route changes in Lync.
  3. Under enterprise parameters in CUCM under cluster wide Domain Configuration-> organization top level domain – contoso.com
  4. Under enterprise parameters in CUCM entered under cluster wide Domain Configuration->cluster Fully qualified domain name - *.contoso.com
  5. Restarted my CUCM VM (this may be more of me being impatient than the update not working without it. You might be able to just restart the Callmanager service rather than a full restart of the machine).
  6. It workedSmile

The FQDN parameter in CUCM has a limitation of 255 characters so if you had a large deployment that wanted to point every branch at the same CUCM cluster you will have to use the wildcard function as it just wont scale for larger deployments without it. Of course you could tighten it up for security reasons and have a separate DNS domain for this function.

clip_image001

clip_image002

If you do not change this parameter in CUCM you will receive a SIP 404 not found message for DNS names in the SIP invite that are not valid CUCM cluster/Subscriber FQDN names.

Configuring CUCM and Lync:

http://blogs.technet.com/b/nexthop/archive/2011/07/17/integrating-lync-server-2010-and-cisco-unified-communications-manager.aspx

http://technet.microsoft.com/en-us/library/ff926525.aspx

Using Multiple Gateways on TechNet:

http://technet.microsoft.com/en-us/library/gg398971.aspx

VoIPNorm

9 comments:

  1. timely post Chris. I am literally working on this on design for a POC effort. However one slight difference and I am curious if you didn't see this as a problem. The SIP invites from the Mediation Server will be from the same source IP; and unless you specifically create new SIP profiles & unique TCP ports on CUCM, each invite will hit CUCM on TCP/5060 ...If each SIP trunk on CUCM is intended to have a unique CSS, CUCM won't actually hit the 'right' CSS as it can't distinguish the incoming SIP invites as two different resources. In the end, it was necessary for me to have unique SIP security profiles and assign the CUCM SIP trunks to their unique sip profile (each with a different TCP port). Then on the Lync side, each PSTN gateway that points to the same CUCM FQDN, also points to their unique TCP port. Now on the incoming SIP Invite with the same source IP, CUCM see's each Invite to their specific SIP trunk and will always use the correct CSS. I would really like to see if you tested this as it was the only way we could establish multiple SIP trunks between the same Lync M/S and CUCM cluster.

    ReplyDelete
  2. Hi,

    You are correct you will have to have each trunk on a different port.

    There is only one way around this. You have seperate Mediation server pools with a trunk on each of those pools to avoid having the same ip address for the mediation server.

    I have done some limited testing using DNS names that works just fine and I also know of a company that is using this method for their remote sites.

    ReplyDelete
  3. What would be really nice to see on the Lync M/S side: virtual IP bindings. IIS has done this for..well forever. Ability to bind 'virtual' IP's to each SIP trunk would also be a very simple way to scale this design, and essentially is a model that has existed in HTTP for 20+ years. :)

    Then each SIP trunk is easily uniquely identifiable with no "smoke and mirrors" required in DNS, CUCM, etc.

    Of course that would just make this type of integration just TOO easy.

    Regards and thank you for the response.

    ReplyDelete
  4. This article helped me understand a weird SIP 404 issue I was having with CUCM / Exchange 2010 / 2007 diversion. You pointed me right to the Enterprise Parameter I was missing. So helpful. Thank you!

    http://www.darylhunter.me/blog/2012/02/cisco-cucm-exchange-2010-migration-from-2007.html

    ReplyDelete
  5. SIP trunk could be used to work with Voice over IP solution in business establishments. This is a solution that utilizes existing wired PBX models for communications for linking traditional telephone networks to external environment through the net.

    ReplyDelete
  6. Read our blog for more information on SIP trunks:

    http://sipforcallcenters.wordpress.com/

    ReplyDelete
  7. Hi,

    Why does lync need MTP's for Media Bypass? Why can they not use G711 directly between Cisco phone and Lync Client?

    Thanks

    ReplyDelete
  8. This comment has been removed by a blog administrator.

    ReplyDelete
  9. I didn't use this configuration before, but after reading its features I want to try it. Hope it didn't create any problem when I am going to try it. virtual pbx toronto

    ReplyDelete

Note: Only a member of this blog may post a comment.