After deploying our edge server and enabling federation in this article the next logical step may be to enable communication with other IM platforms such as Google Chat via the XMPP gateway. At the time of Lync RTM there was no updated XMPP server, so in this article we will utilize the OCS 2007 R2 version available from Microsoft here.
To start off with, this is what our environment will look like:
Since we will be adding another server, I have updated the hostname and IP address table below
|Server Name||Role||IP Address|
|LyncFE.lyncguy.local||Lync Standard Edition Front End||10.255.106.161|
|Lyncedge.lyncguy.local||Lync Edge server – not domain joined||10.255.106.162 (internal NIC)|
|LyncXMPP.lyncguy.com||Lync XMPP Server – not domain joined||10.255.110.166|
For this scenario we will be using a single NIC on our XMPP server, with the NIC placed in the same DMZ network our edge server’s external interface is on. This will allow the edge and XMPP servers to communicate directly and to be protected by the corporate firewall.
No internal DNS changes are required to make this work, but since the XMPP server will be behind NAT and sharing the same network segment as the XMPP gateway we will update its host file so it can resolve the address of the XMPP gateway to the DMZ IP address and not the public IP.
To do that we will add an entry for the LyncXMPP.lyncguy.com on the edges host file pointing to its DMZ IP address (10.255.106.166).
Now we need to log into our XMPP server, set up the IP address and modify the hostname. First we’ll assign our IP Address:
Now we modify our hostname
And modify the primary DNS suffix
To allow the XMPP server to reach our access edge I have added an entry for sip.lyncguy.com pointing to the DMZ IP address of the access edge
These entries allow the XMPP gateway and the edge server to communicate directly, not sending the traffic back and forth through the firewall since they are on the same network.
I will not cover the XMPP Gateway install or configuration; there is a great article here that covers everything you need to know including external DNS and firewalls (although those are covered below as well).
Once you have completed the steps in the article above you are ready to configure your Lync environment for XMPP. To do that we start on the Front End server by opening the Lync Server Control Panel, going to “External Access” and then clicking on “Federated Domains”
Click New>Allowed Domain and add in the information for gmail.com and your XMPP server
Now click “Commit” to save your changes. The changes will automatically be pushed to your edge server, but you can also check the Event Viewer under the Lync Server section to verify you see the following event
Next you need to open NAT port 5269 inbound from the public IP to your private IP
|Rule||Public IP||Private IP||Allowed Protocol – Port|
|XMPP Access||XX.102.182.166||10.255.110.166||TCP – 5269|
Last but not least you need to create public DNS records. The first record will be an A record
|Record Type||Public Name||Public IP||Port|
Then we will create an SRV Record
|Record Type||Public Name||Name||Port|
And now you should be able to chat with your google chat contacts via Lync. XMPP can also be used to communicate with other IM services, see the documentation for more detail.