Lync 2013 Apache Reverse Proxy
Posted by Teruin laurent sur octobre 18, 2013
You may be experiencing issues using the new Lync 2013 mobile apps if your reverse proxy is Apache or using Apache(Beeware for example). External web services and the old 2010 mobile clients work properly, but I observed the following behavior on the 2013 apps:
- First client sign-in attempt fails, but second sign-in succeeds.
- Presence for contacts is very slow to load.
- Client sign out generates an error that the connection to the server was lost.
- Voice and video calls will not connect.
There are no clues in the server-side logs, but if you review the mobile client logs you’ll find the following error after Apache sends this answer to the mobile client :
ERROR TRANSPORT TransportUtilityFunctions.cpp/1749:Accept-types (application/vnd.microsoft.com.ucwa+xml) not found in Content-Type response from server (text/plain). Not decoding.
Deciphering this, the client is expecting an HTTP header to be returned with a Content-Type « application/vnd.microsoft.com.ucwa+xml » to be returned with the server response. The mobile client logs also show the HTTP headers in each response, which include the following:
« HttpHeader:Content-Type text/plain »
Since the UCWA MIME type is not a default registration on Apache the server instead reverts to its default behavior of sending text/plain for any content type it does not understand. The response being returned as text/plain causes the mobile client to error out and disconnect the request.
In Apache configuration, you see the entry « DefaultType text/plain » in httpd.conf and this is the problem. The workaround is to replace it by « DefaultType None » on Apache, it will works as it doesn’t modify the header anymore.
Thanks to Julien Labalme for this post